我尝试使用示例“读取多个范围”:
https://sheets.googleapis.com/v4/spreadsheets/{SpreadsheetID}/values:batchGet?ranges=Sheet1!B:B&ranges=Sheet1!D:D&valueRenderOption=UNFORMATTED_VALUES?majorDimension=COLUMNS
出发地:Google API v4示例,我用电子表格id替换了"spreadsheetId“。但当我发送GET请求(邮递员)时,我收到:
{
"error": {
"code": 403,
"message": "The request is missing a valid API key.",
"status": "PERMISSION_DENIED"
}
}在使用https://developers.google.com/oauthplayground/时,我用电子邮件对电子表格API v4进行了授权,最后生成了一个带有键的长链接,并看到了数据表内容的正确响应。
我的问题是:为什么只使用Google (https://developers.google.com/sheets/api/samples/reading)的示例来替换电子表格id是不可能的。指向我的电子表格的链接是公开的,我的电子表格是公开的,并且是以JSON格式提供的,什么是正确使用url用于Google电子表格API v4以发送多个请求的batchGet?
我使用了另一种方法,它可以工作,但是为什么第一种方法(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: 1KBk1J7TJwnayMnTbaysqvFk98kVddxXWNw2JYc3bW0
可在隐名模式下使用:电子表格
以JSON格式:JSON
参考资料:Google API v4:读取多个范围
SpreadSheetID:误差403的相同示例
发布于 2017-06-26 06:27:33
我相信你在网址里漏掉了API。这是来自google电子表格api文档。
要获取API密钥,请执行以下操作:
在API控制台中打开凭据页。
API :不提供OAuth 2.0令牌的请求必须发送一个API。该键标识您的项目并提供API访问、配额和报表。 API支持API密钥的几种类型的限制。如果您需要的API键还不存在,那么通过单击Create凭据> API键在控制台中创建一个API键。通过单击“限制键”并选择其中一个限制,您可以在生产中使用该键之前对其进行限制。为了确保API密钥的安全,请遵循使用API密钥的最佳实践。 拥有API密钥后,应用程序可以将查询参数key=yourAPIKey附加到所有请求URL。 API密钥在URL中嵌入是安全的;它不需要任何编码。
发布于 2017-06-26 15:45:59
除了@skamble89 89的答案之外,这个403错误通常是由授权请求中的某些配置不正确或遗漏造成的。如果您是使用OAuth 2.0授权请求,请确保与它一起使用适当的范围。
确保您拥有调用此电子表格的权限,并在开发人员控制台中启用了Sheets。
发布于 2022-03-15 02:54:44
curl "https://sheets.googleapis.com/v4/spreadsheets/1ShTP408LPzLOGjqXQTRcmXXXXXXXXXXXXXPUteQmY7o/values/A1%3AD3?key={YourApy"https://stackoverflow.com/questions/44750946
复制相似问题