是否有任何选项可以使用 gs_ls() 获得超过 500 个结果?

Is there any option to obtain more than 500 results with gs_ls()?

我正在尝试根据他们的标题设置传播sheet,但是当我使用 gs_ls 时,我只获得最后 500 sheet 更新。

我曾尝试使用 gs_title 获得点差 sheet object,但我收到了一条错误消息 "doesn't match sheet_title of any sheet returned by gs_ls()" 这就是我想要获得更多点差的原因比最近 500 sheet 秒更新。我的 spreadsheet 比这 500 sheet 更早更新。

> 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 doesn't match sheet_key of any sheet returned by gs_ls()".

是否有任何选项可以使用 gs_ls 获取更多元素或获取未在 gs_ls 中列出的 sheet 的 googlesheets object ?

根据 ?gs_ls() 文档:

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

我找到了解决办法,如果你使用gs_key或gs_url没有指定条件,如果sheet是不在 gs_ls 列表中。但是使用查找和可见性选项,我可以识别 sheet 并获得 spradsheets 对象。为此,您可以使用 gs_key 或 gs_url:

  key = gs_key('xxxxx', lookup = F, visibility = 'private')
  url = gs_url('xxxxx', lookup = F, visibility = 'private')