我对v2 Google Drive SDK有点困惑。
似乎有两种方法可以检索有关文件和文件夹的信息。
使用files.list
I 似乎无法将搜索范围缩小到特定文件夹中的文件,但使用children.list
仅返回非常基本的文件信息,例如 ID。没有文件名。
看起来我必须检索一个孩子列表,然后为每个孩子执行一个请求以找出它的文件名,这似乎非常低效。
使用 Google Drive 枚举文件夹及其内容的正常\正确方法是什么?
我对v2 Google Drive SDK有点困惑。
似乎有两种方法可以检索有关文件和文件夹的信息。
使用files.list
I 似乎无法将搜索范围缩小到特定文件夹中的文件,但使用children.list
仅返回非常基本的文件信息,例如 ID。没有文件名。
看起来我必须检索一个孩子列表,然后为每个孩子执行一个请求以找出它的文件名,这似乎非常低效。
使用 Google Drive 枚举文件夹及其内容的正常\正确方法是什么?
更新——
现在可以通过files.list
. 您可以将q
参数与测试parents
文件或文件夹的查询一起传递。
q='MYFOLDERID' in parents
更多搜索参数和选项以及示例:https ://developers.google.com/drive/search-parameters
原始答案——
是的,这是正确的。我们正在寻求改进此功能,但不幸的是,您暂时无法使用此功能 - 抱歉。
如果要枚举所有文件和文件夹,更好的解决方案可能是获取平面列表,并使用parents
文件中的数组来生成层次结构。
+1 返回children.list的元数据(至少是文件名)
另一种方法是使用带有查询表达式的 files.list 来限制父级。
q='id-of-parent' in 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());
}