9

我对v2 Google Drive SDK有点困惑。

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

files.listchildren.list

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

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

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

4

4 回答 4

2

更新——

现在可以通过files.list. 您可以将q参数与测试parents文件或文件夹的查询一起传递。

q='MYFOLDERID' in parents

更多搜索参数和选项以及示例:https ://developers.google.com/drive/search-parameters

原始答案——

是的,这是正确的。我们正在寻求改进此功能,但不幸的是,您暂时无法使用此功能 - 抱歉。

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

于 2012-06-30T00:10:03.610 回答
2

+1 返回children.list的元数据(至少是文件名)

于 2012-07-04T06:32:24.877 回答
2

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

q='id-of-parent' in parents 

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

于 2013-02-21T18:11:27.093 回答
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());
}  
于 2013-02-22T10:26:59.383 回答