我得到了一个文件师:

    String q = "title contains '"+query+"' and trashed = false";
    FileList list = drive.files().list().setQ(q).execute();
.

我想找到fileList中的每个匹配文件的路径。

我明白相同的文件可以出现在多个文件夹中。

从我发现的那个中,为文件创建路径的唯一方法是重复呼叫:

    drive.files().get(id).execute()
.

然后从该文件的父母列表中选择一个ID,走上树直到达到根。

在导航树上,我可以选择第一个父级,或者在找到根本之前做一个“bfs”。

这真的是找到文件的路径的唯一方法,还是我错过了API的某些部分?

如果这是唯一的方法,可以文件夹也有多个父母,也可以进行循环?

(/ a / b / c=> / a / b / c / b / c / b / c ...如果b有父母a&c)?

有帮助吗?

解决方案

由于文件夹(具有特定MIME类型的特殊驱动器文件)可以有多个父母,我建议使用BFS方法并确保您处理循环。

对于停止条件,您可以保存从 about.rootfolderid 属性。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top