我正在尝试按标题设置电子表格,但是当我使用gs_ls时,我只会获取最近更新的500张纸。
我曾尝试使用gs_title获取电子表格对象,但是却收到一条错误消息,消息为“与gs_ls()返回的任何工作表的sheet_title不匹配”,这就是为什么我要获取比最后500张更多的信息更新。我的电子表格之前的更新时间超过了500张。
> title=gs_title('XXXX')
Auto-refreshing stale OAuth token.
Error in gs_lookup(., "sheet_title", verbose) :
"XXXX" doesn't match sheet_title of any sheet returned by gs_ls() (which
should reflect user's Google Sheets home screen).
使用gs_url和gs_key时遇到相同的问题。我收到了相同的消息:“ XXXX与gs_ls()返回的任何工作表的sheet_key不匹配。”
是否可以选择通过gs_ls获取更多元素或为gs_ls中未列出的工作表获取googlesheets对象?
答案 0 :(得分:1)
根据?gs_ls()
文档:
该表中显示哪些表格?当然是那些用户拥有的。但也属于其他人拥有但对用户可见的部分图纸。我们尚未找到有关此问题的明确的Google文档。有趣的是,如果用户在浏览器中访问过第三方,则该用户拥有的工作表似乎会出现在此列表中。这对可用性很重要,因为仅当表单出现在此列表中时,才能通过标题而不是密钥来召唤表单。对于可能不在此列表中显示的共享工作表,更强大的工作流程是通过其浏览器URL或唯一工作表键指定工作表。
答案 1 :(得分:0)
我找到了解决方案,如果在不指定条件的情况下使用gs_key或gs_url,则如果工作表不在gs_ls列表中,则无法获取电子表格对象。但是,使用查找和可见性选项,我可以识别工作表并获取spradsheets对象。为此,您可以使用gs_key或gs_url:
key = gs_key('xxxxx', lookup = F, visibility = 'private')
url = gs_url('xxxxx', lookup = F, visibility = 'private')