我想建立一个Web UI用户浏览他/她的谷歌驱动器并选择一个或多个文件要在从数据库网站稍后引用。 我使用PHP目前正在建立一个Web界面。
我现在面临的问题是,我无法找到一个单一的功能通过文件夹Id以获取文件的列表。
我试着使用:
$service->children->listChildren($rootFolderId)
......但只会给文件引用的文件编号的文件夹内(即所谓的子女资源项目),这意味着我必须通过这些文件循环,为了让所有的元数据,为他们创造的每一个通话我需要为我的UI。
不幸..
$service->files->list()
..will列出所有我通过文件夹没有过滤选项文件。
我想知道是否有来自于驱动器服务器的单个呼叫解压的文件夹的文件列表的有效方式。 其实,我记得能够在旧谷歌DOC API执行此TAKS。
非常感谢您的帮助
NB这个答案使用V2 API。 新的应用程序应该写入v3的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>的父母?
在我看来, - 这是预期的结果。 我问这个问题,因为在上面的回答,一曰:
...列出属于特定文件夹中的文件 。
而有关搜索参数的文档说明:
这个发现所有子文件夹 ,其编号为1234567的父文件夹。
我将添加通过添加类似一个文件夹,只有列表可以返回
and mimeType='application/vnd.google-apps.folder'
到查询字符串。
无需使用搜索查询。 只需拨打电话,以GET https://www.googleapis.com/drive/v2/files/ {} folderId /儿童
https://developers.google.com/drive/v2/reference/children/list
它很容易,现在,难道你想从特定的文件夹中的所有文件和文件夹,然后只要复制并粘贴到你的项目的代码,它会检索来自特定文件夹中的所有文件和文件夹worry.If。 注意:你应该有自己的文件夹ID
List<File> result = new ArrayList<File>();
Files.List request = null;
try {
request = mService.files().list();//plz replace your FOLDER ID in below line
FileList files = request.setQ("'"+MyFoler_Id+"' in parents and trashed=false"").execute();
result.addAll(files.getItems());
request.setPageToken(files.getNextPageToken());
}
catch (IOException e)
{
System.out.println("An error occurred: " + e);
request.setPageToken(null);
}
//打印出我们已经取得的文件和文件夹名称。
for(File f:result)
{
System.out.println("My recvd data "+f.getTitle());
}