我有一个googledrive文件夹,里面有几百本工作簿。我想循环查看列表并更新数据。由于某些原因,gspread只能打开某些工作簿,而不能打开其他工作簿。我最近才遇到这个问题。在
这不是访问问题,因为所有内容都在同一个文件夹中。在
当我open_by_key(key)
时,我得到raise SpreadsheetNotFound
。但是当我把密钥粘贴到一个URL中时,工作表就打开了。也就是说这不是钥匙。在
这是怎么回事?我很惊讶其他人没有遇到这个错误。在
我是否达到了我可以拥有的Google页面数量的限制?我有大约两千。在
更新:我发现,如果我进入工作手册并四处查看,工作表就会被识别出来??!!这是什么意思?最近床单不工作吗???在
另外,如果我尝试使用Google App脚本SpreadsheetApp.openById
,那么密钥就可以识别了!所以床单在那里,我就是不能用gspread
打开它。在gspread
识别之前,我已经使用Google脚本先在工作表中写入内容。在
我可以使用pygsheets
打开工作表,但由于它是新的,而且有缺陷,所以我不能使用它。看起来像是APIv4
问题?某些工作表无法用APIv3
打开?在
更新:这是另一个观察。一旦用APIv4打开工作簿,就不能再使用V3打开它了。在
我的猜测是,您可能达到了
Google Drive API
限制,即1000
,不能更改为更高的值。在解决方案1:
您可以通过访问项目页面来尝试申请更高的配额:}的详细信息。在
1-仪表板
2-配额
3-点击“每位用户每100秒查询数”后的铅笔 4-然后单击“申请更高配额”
5-您将在https://support.google.com/code/contact/drive_quota结束,但是如果您按照上面的步骤操作,表单将已经填充
project
和{解决方案2:
我的账户上只有几张电子表格,但问题是通过以下方式解决的:
1-打开json密钥文件(
projectname-ca997255dada.json
)2-找到
client_email
的值,即:3-与该电子邮件共享您的工作表
注意:您可以尝试只更改一个无法打开的电子表格,并检查上述方法是否解决了问题。在
我反复遇到这个问题。我找到的唯一一致的解决方案是与api用户“重新共享”文件。它已经将api用户列为shared(因为它和其他东西都在同一个共享文件夹中),但是在“重新共享”之后,我就可以与gspread连接了。在
基于此,我认为这实际上可能是一个权限问题(Google在通过APIv3访问API用户时未能为其注册正确的权限)。在
这听起来像是您在
gspread
中遇到了一个限制。在即使按键打开电子表格,
gspread
仍然首先使用https://spreadsheets.google.com/feeds/spreadsheets/private/full
下载所有明确共享的工作表的提要,并检查您提供的键是否在其中。在问题是这个提要只列出了500个文件。如果您的密钥不在这500个中,那么即使电子表格是可访问的,您也将得到
SpreadsheetNotFound
。在我猜feed是按最近使用的顺序排序的,这就解释了为什么编辑它使它再次对
gspread
可见。在相关问题是here。在
相关问题 更多 >
编程相关推荐