当前位置: 首页 > 知识库问答 >
问题:

谷歌工作表API v4

黎苑博
2023-03-14

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

https://sheets.googleapis.com/v4/spreadsheets/{SpreadsheetID}/values:batchGet?范围=表1!B:B

来自:Google Sheets 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,最后我生成了一个带有key的长链接,并看到了数据表内容的正确响应。

我的问题是下一个:为什么不能使用谷歌应用编程接口(https://developers.google.com/sheets/api/samples/reading)的示例只替换电子表格标识。P. s链接到我的电子表格是公共的,我的电子表格是公共的,以JSON格式提供,什么是正确使用的URL为谷歌电子表格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

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

电子表格ID:1KBk1J7TJCwnayMnTbaysqvFk98kVDdxXWNw2JYc3bW0

在匿名模式下可用:电子表格

JSON格式:JSON

参考:Google Sheets API v4:读取多个范围

与SpreadSheetID相同的示例:错误403

共有3个答案

汤才捷
2023-03-14

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

请确保您有权调用此电子表格,并在开发人员控制台中启用工作表API。

公良理
2023-03-14

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

https://sheets.googleapis.com/v4/spreadsheets/{sheet_id}/values/Sheet1!A1:D5?key={YOUR_API_KEY}
杜弘伟
2023-03-14

我相信你在url中缺少API。这是来自谷歌电子表格api文档。

要获取API密钥,请执行以下操作:

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

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

该API支持对API密钥的几种类型的限制。如果您需要的API密钥不存在,请单击创建凭据在控制台中创建API密钥

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

API密钥对于嵌入URL是安全的;它不需要任何编码。

谷歌电子表格文档

 类似资料:
  • 我想不断更新/重写到谷歌表。不过,我不能只是更新它,而不清除旧的工作表,因为有时更新的行比之前的行和旧的行留在工作表中。 因此,开发者页面上列出的协议是: 翻译成python会是这样的,我认为: 返回错误: GoogleapClient。错误。HttpError:https://sheets.googleapis.com/v4/spreadsheets/[uniqueIDhere]/values:

  • 此函数工作正常。当当前工作表不是Google表单响应工作表时。我正在使用(每分钟)触发器 图像:沙子数据(主数据)表至(共享数据1)表 我正在寻找一个,当用户提交的谷歌表格的状态是(支付),数据应该在第二页,这是(shareData1) 这里的问题是,当我使用谷歌表单响应表时,这个函数将不再工作。它显示了一个错误。错误图像 在降级的错误图像中,我手动运行此函数,相同的错误显示在AppScript面

  • 可编辑链接-https://docs.google.com/spreadsheets/d/1vrzchTHVwwzc9wgFGmtc_zBsh27CEtE7KOyeNDuLwC0/edit?usp=sharing 发布至网页-https://docs.google.com/spreadsheets/d/e/2PACX-1vRaJd3YpKnemAneU47RI58m7cxQsYFdViFBxJPV

  • 我正在重新创建和扩展我以前制作的文档。我已经引入了我最初使用的脚本,并在我认为合适的地方对其进行了调整,以使其在本表中正常工作,但我一定错过了一些东西。可在此处找到涉及的3个电子表格文件的可编辑示例。这些文件是一个样本“价目表”、“目录”(它汇总了所有价目表中的制造商名称,还有一个“目录”选项卡,用于我的一个主要供应商未销售的杂项物品),以及“附录B”,这是我需要帮助的文件。 这份文件是我合同的增

  • 在我看来,GoogleSheetsAPI的append方法(用于从程序向GoogleSheet添加数据的方法)需要一个2d数组。Sam Berlin在这里似乎说了很多Google Sheet API批量更新问题。我想知道是否有人知道这是为什么?

  • 我正试图上传一个PDF文件到谷歌硬盘,并在谷歌表单中插入该文件的链接。以下是ajax: 以下是HTML: 和代码。一般事务: 一切都在谷歌表格中填充,但我不知道如何让简历上传到谷歌驱动器并将链接添加到谷歌表格。