【发布时间】:2017-02-22 04:40:14
【问题描述】:
我有一个包含数百个工作簿的 google 驱动器文件夹。我想循环浏览列表并更新数据。出于某种原因,gspread 只能打开某些工作簿,而不能打开其他工作簿。我最近才遇到这个问题。
这不是访问问题,因为所有内容都在同一个文件夹中。
当我open_by_key(key) 时,我得到raise SpreadsheetNotFound。但是,当我将密钥粘贴到 URL 中时,工作表就会打开。这意味着它不是关键。
这里发生了什么?我很惊讶其他人没有遇到此错误。
我是否已达到我可以拥有的 Google 表格数量的限制?我有大约 2000 个。
更新:我发现如果我进入工作簿并四处寻找,那么工作表就会被识别??!!这是什么意思?如果工作表最近未处于活动状态,它不会识别工作表???
另外,如果我尝试使用 Google App Script SpreadsheetApp.openById,则可以识别密钥!所以工作表在那里,我无法用gspread 打开它。在gspread 识别之前,我先使用 Google 脚本在工作表上写了一些东西。
我可以使用pygsheets 打开工作表,但由于它是新的而且有很多错误,我不能使用它。看起来像APIv4 问题?使用APIv3无法打开某些工作表?
更新:这是另一个观察结果。使用 APIv4 打开工作簿后,您将无法再使用 V3 打开它。
【问题讨论】:
-
文件夹中的个别工作簿可能未与 google 服务帐户客户端共享?
-
@Haleemur Ali。不与客户端共享整个文件夹
-
只是一个想法:你试过
open_by_url而不是open_by_key吗? -
您也可以尝试在
google-api-python-client上重现该问题(它似乎是推荐的v4 api 客户端而不是gspread)。 -
好建议,但
open_by_url也给了我同样的错误。我将浏览器的确切网址粘贴到代码中。
标签: python google-sheets gspread