2013-06-23 60 views
13

亲爱的所有什么是发现在谷歌云端硬盘API V2

我试图通过“完整路径”找到的文件列表,通过“全路径”文件的正确途径。阅读API参考后,它似乎是一项复杂的任务。假设我的路是一样的东西/ PATH0 /路径1 /路径/ ...

  1. 根文件夹的目录儿童和找到名称等于“PATH0”所有的孩子并把他们的名单“结果0”
  2. 查找在“结果0”的项目名称为等于“路径1”,并把他们带到一个列表“RESULT1”
  3. 查找项目的所有孩子“RESULT1”与名称等于“路径2”和...
所有儿童

上面的方法效率很低,因为它需要我的应用程序和驱动器之间的多个交互。我了解Google Drive允许多个文件共享相同的文件名,即使在同一个文件夹中。如果我可以做这样的事情会很方便:

listDocByFullPath("path0/path1/path2") 

这是可以使用当前版本的Google Drive SDK吗?如果还没有,我想知道是否有比我在这里列出的更简单的方法。

顺便说一句,因为我的应用程序纯粹是后端服务,所以不可能使用Google提供的文件选取器。

干杯。

+0

你有没有找到解决方案?我面临着完全相同的问题。 –

回答

11

与传统文件系统不同,文件可能位于云端硬盘上的多个文件夹下。文件夹与标签非常相似。因此,传统路径并不总是在我们的抽象中工作。我建议你按照下面的逻辑:

  1. 列出文件与q = 'root' in parents and title = 'path0' and mimeType = 'application/vnd.google-apps.folder'并选择第一个结果。
  2. 如果有匹配结果,请获取文件夹的ID并执行'<id of path0>' in parents and title = 'path1' and mimeType='application/vnd.google-apps.folder'的另一个列表并选取第一个结果。
  3. 继续前进,直到到达目标文件夹。
+4

我想看到一个服务来解决我的目的地ID。 – peter

+3

嗨,Burcu 感谢您的回复。 这正是我现在正在做的。目前看来还好。虽然我担心未来的表现。看起来我的应用程序和Drive API之间的交互作用随着目录深度的增加而线性增加。我提出的API可以真正简化这里的事情。 干杯。 –

2

最大的问题是路径不能唯一标识文件或文件夹!例如,在网络用户界面中,您可以将2个文件夹命名为作为同一文件夹的子文件夹。 即你可以制作一棵如下的树: root |-somefolder |-somefolder

相关问题