gspread"SpreadsheetNotFound"在某些工作簿上

jas*_*son 10 python google-sheets gspread

我有一个包含数百个工作簿的google驱动器文件夹.我想遍历列表并更新数据.出于某种原因,gspread只能打开某些工作簿而不能打开其他工作簿.我最近才遇到这个问题.

这不是访问问题,因为所有内容都在同一个文件夹中.

我得到的raise SpreadsheetNotFound时候open_by_key(key).但是当我拿到密钥并将其粘贴到URL中时,工作表会打开.这意味着它不是关键.

这里发生了什么?我很惊讶其他人没有遇到这个错误.

我是否限制了我可以拥有的Google表格数量?我有大约2千.

更新:我发现如果我进入工作簿并四处寻找,那么表单就会被识别出来了!! !! 这是什么意思?如果工作表最近没有活动,它无法识别工作表???

此外,如果我尝试使用Google App Script SpreadsheetApp.openById,则会识别密钥!因此,工作表在那里,我无法打开它gspread.我已经使用Google脚本在识别之前首先在工作表上写入内容gspread.

我可以打开使用的纸张,pygsheets但因为它是新的,所以马车,我不能使用它.这看起来像个APIv4问题?有些床单不能用APIv3

更新:这是另一个观察.使用API​​v4打开工作簿后,您无法再使用V3打开它.

dor*_*ian 4

这听起来像是您遇到了限制gspread

即使您通过密钥打开电子表格,gspread仍然首先下载所有明确共享的工作表的提要https://spreadsheets.google.com/feeds/spreadsheets/private/full,并检查您提供的密钥是否在其中。

问题是此 feed 仅列出 500 个文件。如果您的密钥不在这 500 个之中,那么SpreadsheetNotFound即使电子表格可访问,您也将获得密钥。

我猜想提要是按最近使用的顺序排序的,这解释了为什么编辑它会使其gspread再次可见。

相关问题在这里