簡體   English   中英

如何使用Google表格API + Javascript更新電子表格

[英]How to update spreadsheet using Google Sheets API + Javascript

我有一個小型的javascript網站,可以從我的Google電子表格中獲取數據,並將此數據顯示給最終用戶。 我也想最終更新這個電子表格(例如插入一些行),但我完全堅持使用它。

要從工作表中檢索數據,我使用此文檔 它還包含有關更新電子表格的一些信息,但我不確定這是否有效。 我試過了:

  1. jQuery $ .post(...)創建一個POST請求,如文檔中所述,但沒有成功)
  2. 使用Postman應用程序創建請求 - 獲取“找不到頁面”響應

任何人都可以幫我解決這個問題嗎? :'(

要使用JavaScript更新Google電子表格,您需要使用Drive REST API

以下是更新電子表格的代碼

function updateFile(fileId, fileMetadata, fileData, callback) {
    const boundary = '-------314159265358979323846';
    const delimiter = "\r\n--" + boundary + "\r\n";
    const close_delim = "\r\n--" + boundary + "--";

    var reader = new FileReader();
    reader.readAsBinaryString(fileData);
    reader.onload = function(e) {
        var contentType = fileData.type || 'application/octet-stream';
        var base64Data = btoa(reader.result);
        var multipartRequestBody =
            delimiter +
            'Content-Type: application/json\r\n\r\n' +
            JSON.stringify(fileMetadata) +
            delimiter +
            'Content-Type: ' + contentType + '\r\n' +
            'Content-Transfer-Encoding: base64\r\n' +
            '\r\n' +
            base64Data +
            close_delim;

        var request = gapi.client.request({
            'path': '/upload/drive/v3/files/' + fileId,
            'method': 'PATCH',
            'params': {
                'uploadType': 'multipart',
                'alt': 'json'
            },
            'headers': {
                'Content-Type': 'multipart/mixed; boundary="' + boundary + '"'
            },
            'body': multipartRequestBody
        });
        if (!callback) {
            callback = function(file) {
                console.log(file)
            };
        }
        request.execute(callback);
    }
}

您可以使用以下代碼來調用updateFile函數。

var blob = new Blob(['Cell Text 1,Cell Text 2'],{contentType:'text/plain'});
updateFile(SHEET_ID,'',blob,function(){
    alert("Updated document");
})

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM