扩散错误代码400范围(';名称';!名称)超出网格限制(&Q; [英] gspread error code 400 "Range ('name'!name) exceeds grid limits"
问题描述
我在一台带有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屋!