在Drive SDK上按文件夹获取文件列表

Mig*_*use 17 php google-drive-api

我正在尝试构建一个Web UI,供用户浏览他/她的Google云端硬盘,然后选择一个或多个文档,以便稍后在数据库的网站中引用.我目前正在使用PHP构建Web界面.

我面临的问题是我找不到一个函数来获取文件夹Id的文件列表.

我试过用:

$service->children->listChildren($rootFolderId)
Run Code Online (Sandbox Code Playgroud)

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

不幸..

$service->files->list()
Run Code Online (Sandbox Code Playgroud)

..将按文件夹列出我的所有文件,没有过滤选项.

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

非常感谢您的帮助

Ala*_*ain 31

注意这个答案使用v2 API.新应用程序应写入v3 API.

这是目前可以使用drive.files.list端点列出属于特定文件夹中的文件.

为此,您可以使用?q=query参数,如下所示:

GET https://www.googleapis.com/drive/v2/files?q="'<FOLDER_ID>' in parents"
Run Code Online (Sandbox Code Playgroud)

在PHP中,那就是

$service->files->list(array('q' => "'<FOLDER_ID>' in parents"));
Run Code Online (Sandbox Code Playgroud)

  • 玩了多一些之后,我能得到这个有一点需要注意的工作:,必须用单引号<FOLDER_ID>变量除了被包裹搜索字符串的单引号.所以它看起来像这样:父母中的'q'=>''$ folderID' (4认同)