Google Sheet API v4

时间:2017-06-25 21:48:17

标签: google-sheets google-spreadsheet-api

我尝试使用示例“读取多个范围”:

  

https://sheets.googleapis.com/v4/spreadsheets/ {SpreadsheetID} /值:batchGet范围= Sheet 1中B:?!B和范围= Sheet 1中d:!d&安培; valueRenderOption = UNFORMATTED_VALUES majorDimension = COLUMNS

来自:Google Sheets API v4 example 我用电子表格ID替换了“spreadsheetId”。 但是当我发送GET请求(邮递员)时,我收到了:

{
  "error": {
    "code": 403,
    "message": "The request is missing a valid API key.",
    "status": "PERMISSION_DENIED"
  }
}

比我使用https://developers.google.com/oauthplayground/ 我使用我的电子邮件授权Spreadsheet API v4,最后我生成了一个带密钥的长链接,并看到了对我的数据表内容的正确响应。

我的问题是下一个: 为什么使用Google API(https://developers.google.com/sheets/api/samples/reading)中的示例只能替换电子表格ID。 P.s链接到我的电子表格是公开的,我的电子表格是公开的,并且以JSON格式提供,对于Google Spreadsheet API v4,为了发送带有多个请求的batchGet,正确使用url是什么?

P.s.s我使用另一种方法并且它有效,但为什么第一种方法(v4)不起作用:

https://spreadsheets.google.com/feeds/list/{SpreadsheetID}/od6/public/values?alt=json

当我尝试在一个请求中收到两个API并收到并且错误“不一致的重复查询参数范围”时:

https://spreadsheets.google.com/feeds/list/{SpreadsheetID}/od6/public/values:batchGet?ranges=Sheet1!B:B&ranges=Sheet1!D:D&valueRenderOption=UNFORMATTED_VALUES?majorDimension=COLUMNS

======================================
编辑:

SpreadSheetID: 1KBk1J7TJCwnayMnTbaysqvFk98kVDdxXWNw2JYc3bW0

以隐身模式提供:Spreadsheet

采用JSON格式:JSON

参考:Google Sheets API v4: Read multiple ranges

与SpreadSheetID相同的示例:ERROR 403

3 个答案:

答案 0 :(得分:3)

我相信你在网址中缺少API。这是来自谷歌电子表格api doc。

获取API密钥:

在API控制台中打开“凭据”页面。

  

API密钥:不提供OAuth 2.0令牌的请求必须发送   API密钥。密钥标识您的项目并提供API访问,   配额和报告。

     

API支持API密钥的几种类型的限制。如果API   您需要的密钥尚不存在,然后在中创建一个API密钥   通过单击创建凭据>控制台API密钥。你可以限制   通过单击Restrict键和在生产中使用它之前的键   选择其中一个限制。为确保您的API密钥安全,   遵循安全使用API​​密钥的最佳实践。

     

拥有API密钥后,您的应用程序可以附加查询   参数key =所有请求URL的yourAPIKey。

     

API密钥可以安全地嵌入到URL中;它不需要任何   编码

Google Spreadsheet Docs

答案 1 :(得分:2)

除了@ skamble89的回答之外,这个403错误通常是由于授权请求中的错误或错过某些配置引起的。如果您是authorizing requests with OAuth 2.0,请确保使用适当的范围。

确保您有权调用此电子表格,并在开发者控制台中启用Sheets API。

答案 2 :(得分:0)

您必须确保输入key = YOUR_API_KEY作为请求参数。 例如:

https://sheets.googleapis.com/v4/spreadsheets/{sheet_id}/values/Sheet1!A1:D5?key={YOUR_API_KEY}