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

我对v2 Google Drive SDK有点困惑。

似乎有2个方法来检索有关文件和文件夹的信息。

files.list和children.list

使用files.list我似乎不能缩小search到特定文件夹中的文件,但使用children.list只返回非常基本的文件信息,如ID。 没有文件名。

它看起来像我必须检索一个儿童列表,然后执行一个请求,每个孩子找出它的文件名,这似乎效率很低。

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

Solutions Collecting From Web of "使用Google Drive SDK V2来枚举文件夹和文件"

另一种方法是使用files.list与查询expression式来限制父项。

 q='id-of-parent' in parents 

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

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

更新

这现在可以通过files.list来实现。 您可以将qparameter passing给testing文件或文件夹parents的查询。

 q='MYFOLDERID' in parents 

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

原始答案

是的,这是正确的。 我们正在寻求改善这一function,但不幸的是,你现在坚持这一点 – 对不起。

如果你正在注意所有的文件和文件夹,一个更好的解决scheme可能是得到一个简单的列表,然后在一个文件中使用parents数组来生成层次结构。

如果你想获得驱动器中的所有文件夹,请使用:

 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()); }