从 google 驱动器 public 文件夹中获取文件列表 link 通过 API 共享

Get file list from google drive public folder shared by link via API

我正在尝试创建脚本以使用 rest api 从 google 驱动器中的另一个用户共享文件夹下载所有文件。如果我是对的,有两种变体:

  1. 使用 drive.children.list,文件夹 ID
  2. 使用 drive.files.list,搜索查询如 'FOLDER_ID in parents'

但是这两种变体都只返回曾经由我的 google 帐户在浏览器中打开过的文件。如果我在浏览器中打开文件 - 此文件将出现在 API 调用的结果中。

文件夹共享给拥有 link.

的任何人

问题出在哪里,如何列出文件夹中的所有文件?

由于您没有向我们提供有关 SCOPE 的任何信息,我猜测这可能是您的问题。您可能有 FILE 范围,而不是 DRIVE。

另外,我建议用 'TryIt!' here 测试这些东西。您可以在那里快速修改范围和查询。

祝你好运

这是驱动器 API 中的 bug/quirk,但有一个简单的解决方法。如果您使用 'addParents=root' 调用 files.update,它将在 'My Drive' 下添加共享文件夹。这具有使文件成为语料库的一部分的效果,它们将出现在结果中。