【发布时间】:2012-12-24 20:43:52
【问题描述】:
我管理的 Google 域中的文件已进入错误状态;根目录中有数千个文件。我想识别这些文件并将它们移动到“我的云端硬盘”下的文件夹中。
当我使用 API 列出这些孤立文件之一的父级时,结果是一个空数组。要确定文件是否为孤立文件,我可以遍历域中的所有文件,并请求每个文件的父级列表。如果列表为空,我知道该文件是孤立的。
但这太慢了。
是否可以使用 Drive API 来搜索没有父文件的文件?
q 参数的“父母”字段似乎对此没有用处,因为它只能指定父母列表包含一些 ID。
更新:
我试图找到一种快速的方法来定位真正位于文档层次结构根部的项目。也就是说,它们是“My Drive”的兄弟姐妹,而不是“My Drive”的子代。
【问题讨论】:
-
这听起来像是一个错误,我们不应该允许文件没有任何父项。
-
驱动器 UI 明确允许您将文件移动到这种情况下,但建议不要这样做。能够查询此类文件会很棒。
-
您找到解决方案了吗?
-
@Peter Alfvin 不幸的是,在当前阶段,还不能使用 Drive API 直接检索没有父文件夹的文件。那么这两种解决方法呢? 1. 检索所有文件,从检索到的所有文件中检索没有父文件夹的文件。 2.检索所有文件夹,检索未包含在所有文件夹中的文件。这些可以使用the files.list method 来实现。如果这不是您想要的方法,我很抱歉。顺便问一下,你想用什么语言?
-
@Tanaike 不幸的是,
list方法不允许您检索parents信息。您必须使用get才能获取父母信息,因此第一个解决方法将不起作用。第二种方法不会,因为文件可以具有您无权访问的父级,因此您无法通过枚举您有权访问的所有文件夹来派生非父级文件。关于语言,我碰巧在我想使用它的上下文中使用 Javascript,但我没有使用 Drive 库。我只是在进行 REST 调用。
标签: google-api google-drive-api google-api-client