如何按文件夹获取驱动器SDK上的文件列表?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (49)

我试图建立一个网络用户界面,让用户浏览他/她的谷歌驱动器,并选择一个或多个文档,以供稍后在一个网站引用从一个DB。我目前正在构建一个使用PHP的Web界面。

我面临的问题是我找不到一个函数来根据文件夹ID获取文件列表。

我试着用:

$service->children->listChildren($rootFolderId)

…但这只会给出文件夹中文件的引用ID(所谓的子资源项),这意味着我必须遍历这些文件并为每个文件创建一个调用,以便获取UI所需的所有元数据。

不幸的是..。

$service->files->list()

..将按文件夹列出没有筛选选项的所有文件。

我想知道是否有一种有效的方法从对驱动器服务器的单个调用中提取文件夹文件列表。实际上,我还记得能够在旧的GoogleDOC API上执行此操作。

非常感谢你的帮助

提问于
用户回答回答于

它是现在可以使用drive.files.list端点列出属于特定文件夹的文件。

为此,可以使用?q=查询参数如下:

GET https://www.googleapis.com/drive/v2/files?q="'<FOLDER_ID>' in parents"

在PHP中,这将是

$service->files->list(array('q' => "'<FOLDER_ID>' in parents"));
用户回答回答于

查询参数是否会 <FOLDER_ID> in parents 列出在父母中具有<FOLDER_ID>的文件和/或文件夹? 在我看来,这是预期的结果。我问这个问题是因为在上面的答案中,一个是:

...列出文件属于一个特定的文件夹。

有关搜索参数文档解释如下:

这将找到ID为1234567的父文件夹的所有子文件夹。

我将补充说,通过向 and mimeType='application/vnd.google-apps.folder' 查询字符串添加类似内容,可以返回仅限文件夹列表。

扫码关注云+社区

领取腾讯云代金券

玩转腾讯云 有奖征文活动