使用Google Drive SDK V2枚举文件夹和文件

时间:2012-06-29 07:25:28

标签: android google-drive-api

我对v2 Google Drive SDK感到有些困惑。

似乎有两种方法可以检索有关文件和文件夹的信息。

files.listchildren.list

使用files.list我似乎无法将搜索范围缩小到特定文件夹中的文件,但使用children.list仅返回非常基本的文件信息,例如ID。没有文件名。

看起来我必须检索一个子列表,然后为每个孩子执行一个请求,找出它的文件名,这看起来非常低效。

使用Google云端硬盘枚举文件夹及其内容的正常\正确方法是什么?

4 个答案:

答案 0 :(得分:2)

更新 -

现在可以使用files.list来实现。您可以使用查询测试文件或文件夹的q来传递parents参数。

q='MYFOLDERID' in parents

此处有更多搜索参数,选项和示例:https://developers.google.com/drive/search-parameters

原始回答 -

是的,这是正确的。我们正在寻求改进此功能,但不幸的是你现在仍然坚持这一点 - 抱歉。

如果您想要所有文件和文件夹,更好的解决方案可能是获取一个平面列表,并使用文件中的parents数组来生成层次结构。

答案 1 :(得分:2)

+1 children.list

返回元数据(至少是文件名)

答案 2 :(得分:2)

替代方法是使用带有查询表达式的files.list来限制父级。

q='id-of-parent' in parents 

这将为您提供与子集合相同的结果,但具有每个项目的完整元数据。

答案 3 :(得分:1)

如果您想要使用驱动器中的所有文件夹:

FileList folders=service.files().list().setQ("mimeType='application/vnd.google-apps.folder'").execute();
for(File fl: folders.getItems()){
     Log.v(TAG+" fOLDER name:",fl.getTitle());
}  
相关问题