题
我得到了一个文件师:
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 属性。
不隶属于 StackOverflow