扩散错误代码400范围('名称'!名称)超出网格限制(&Q; [英] gspread error code 400 "Range ('name'!name) exceeds grid limits"

查看:11
本文介绍了扩散错误代码400范围('名称'!名称)超出网格限制(&Q;的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在一台带有3.0.0版Gspend的Raspberry PI上使用了python2.7。

当我使用Gspend的Get_all_Values()函数时,我收到以下错误:

File "/home/pi/DB/GSheets/GoogleSheets.py", line 121, in GetAll
    listOfLists = googleSheetName.worksheet(GSTabName).get_all_values()
  File "/home/pi/.local/lib/python2.7/site-packages/gspread/models.py", line 444, in get_all_values
    data = self.spreadsheet.values_get(self.title)
  File "/home/pi/.local/lib/python2.7/site-packages/gspread/models.py", line 110, in values_get
    r = self.client.request('get', url, params=params)
  File "/home/pi/.local/lib/python2.7/site-packages/gspread/client.py", line 79, in request
    raise APIError(response)
gspread.exceptions.APIError: {
  "error": {
    "code": 400,
    "message": "Range ('name'!name) exceeds grid limits. Max rows: 52, max columns: 17",
    "status": "INVALID_ARGUMENT"
  }
}

在以前版本的gspend中,我没有遇到过这个问题。目前的版本,以前被称为"v4",似乎已经引入了这一点。据我所知,GET_ALL_VALUES函数在两个版本之间没有变化。有谁知道这可能是什么突然导致的吗?

提前谢谢!

编辑:
"name"正在用作工作表名称的占位符。

EDIT2:
注意:我已将该项目连接到具有相同工作表(和名称)的全新Google工作表,但仍出现错误。所有工作表名称都是字母数字,并且不包含空格或特殊字符。

EDIT3:
被卡住的选项卡的名称采用"ABC1"的形式,但这是第一个被读取的选项卡。

将其更改为Sheeta后,client.py中的if response.ok:成功4次,然后MySQLdb由于其自身分发文件中的SQL语法错误而崩溃(可能是因为使用错误数据构建命令)。在将选项卡名改为"Sheeta"之前,Response.ok将成功3次,然后失败。当我强制不引发异常时,发送的数据(包含工作表值的列表列表)与未触发异常时发送的数据没有什么不同。

工作表的实际尺寸为52 x 17(行x列)。APIError中的维度始终与工作表的维度匹配。

EDIT4:
已发现这一点:以下工作表(选项卡)名称格式抛出APIError(代码400):"abc1"、"abc123",但"abc123"或"abc1d"起作用。我还注意到,当我将具有有效名称(下面称为FirstSheet)的工作表/选项卡移动到具有无效名称的工作表之前时,抛出的错误包括如下所示的FirstSheet名称:read.exceptions.APIError: { "error": { "code": 400, "message": "Range (FirstSheet!ABC123) exceeds grid limits. Max rows: 132, max columns: 17", "status": "INVALID_ARGUMENT" },但仅在崩溃时以无效名称崩溃。读取之前有效的工作表时不会出现问题。 工作表的大小各不相同。

推荐答案

我遇到了同样的问题,尽管我的代码是用Ruby编写的。下划线不起作用。

发生的情况是,当文件名以整数结尾时,Google会感到困惑,例如,您的工作表名称称为ABC123。因此ABC123X工作正常。

要修复它,我必须使用单引号对其进行转义-FirstSheet!'ABC123'

我的代码如下所示:

service.get_spreadsheet(file_id, ranges: "'ABC123'")

这篇关于扩散错误代码400范围('名称'!名称)超出网格限制(&Q;的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆