将数据附加到Google电子表格V4

时间:2019-07-17 09:44:29

标签: javascript fetch google-sheets-api

我正在尝试使用Google电子表格API V4创建一个小型数据库。我只需要电子表格中的写入功能,就可以在我的用户使用某些功能时进行跟踪。

我已遵循此article,并且还阅读了Google的文档。 我曾尝试像文章中那样使用 batchUpdate ,但只有400错误。 我已经切换到追加,但是即使它在我的本地主机中运行或出现错误401,我也遇到了CORS错误。

fetch('https://sheets.googleapis.com/v4/spreadsheets/{spreadsheetId}:append',{
                method: 'POST',
                headers:{
                    Authorization: 'Bearer [YOUR_ACCESS_TOKEN]',
                    Accept: 'application/json',
                    'content-type':'application/json'
                },
                body: {
                    "spreadsheetId": "{spreadsheetId}",
                    "range": "A1:C1",
                    "insertDataOption": "INSERT_ROWS",
                    "valueInputOption": "RAW",
                    "resource": {
                        "range": "A1:C1",
                        "values": [
                        [
                            "1",
                            "2",
                            "3"
                        ]
                        ]
                    }
                }
            })

我只是希望在电子表格中添加一行,但是我有CORS或401。

1 个答案:

答案 0 :(得分:0)

我终于发现,网址错误。 这是解决方案:

fetch('https://sheets.googleapis.com/v4/spreadsheets/{spreadsheetId}/values/{range}:append?insertDataOption=INSERT_ROWS&valueInputOption=RAW',{
  method: 'POST',
  headers:{
    "Authorization": 'Bearer [YOUR_ACCESS_TOKEN]',
    'content-type':'application/json'
  },
  body: {
    "range": "A1:C1",
    "values": [
      [
        "32",
        "33",
        "34"
      ]
    ]
  }
})

警告
我试图在URL中写[A1:C1]A1:C1来代替{range}
它没有用,但是有了A1%3AC1我就没有麻烦了。