我现在正在尝试使用 Chrome 获取工作表的 JSON 正文,但要合并到 python 脚本中。
该工作表包含 56 行和 6 列,但我收到错误:
{
"error": {
"code": 400,
"message": "Range ('tab_name'!TAB_NAME) exceeds grid limits. Max rows: 994, max columns: 26",
"status": "INVALID_ARGUMENT"
}
}
我以为它不再喜欢 alt=json 了,但我得到了同样的错误,只是最后的键。
我假设您正在尝试从工作表中获取值,根据 documentation 使用此端点的正确方法是
GET https://sheets.googleapis.com/v4/spreadsheets/{spreadsheetId}/values/{range}
您将 [tab_name] 定义为 URL 的一部分,等于 SheetName
或 sheetName!A:Z
,换句话说,错误表明您的请求超出了网格限制,因此您必须定义一个较小的网格,例如GET https://sheets.googleapis.com/v4/spreadsheets/{spreadsheetId}/values/Sheet1!A1:C5
。
作为建议,我鼓励您查看文档中的示例。
https://sheets.googleapis.com/v4/spreadsheets/[spreadsheet_id]/values/[tab_name]?alt=json&key=[api_key]
我最近遇到了同样的问题,如果您收到如下错误:
exceeds grid limits. Max rows: XXX, max columns: YYY
那么问题可能出在你的代表方式上
[tab_name]
。
pygsheets 库中报告了类似的问题。 修复是用单引号引用选项卡名称,如下所示:
原因是有时选项卡名称可以被解释为一个范围。 gsheets 可能会将类似
https://sheets.googleapis.com/v4/spreadsheets/[spreadsheet_id]/values/'[tab_name]'?alt=json&key=[api_key]
APP1
的内容视为试图引用列
APP
、行
1
,而不是名为
APP1
的选项卡。在选项卡名称周围添加单引号可确保 google API 将其解释为选项卡名称,而不是单元格地址或范围。