0

我正在尝试按标题设置电子表格,但是当我使用 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 对象?

4

2 回答 2

1

根据?gs_ls()文档:

此表中显示了哪些工作表?当然是那些归用户所有。但也是其他人拥有但对用户可见的工作表的子集。我们还没有找到关于这个问题的明确的谷歌文档。有趣的是,如果用户在浏览器中访问过这些表,则这些表由第三方拥有但用户具有读取权限的表似乎会出现在此列表中。这是可用性的一个重要点,因为只有当它出现在此列表中时,才能通过标题而不是键来调用工作表。对于可能未出现在此列表中的共享工作表,更强大的工作流程是通过其浏览器 URL 或唯一工作表键指定工作表。

于 2019-01-05T10:57:26.923 回答
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')
于 2019-01-09T15:47:19.353 回答