我得到一个FileList:
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)?
答案 0 :(得分:4)
由于文件夹(只是具有特定MIME类型的特殊驱动文件)可以有多个父项,我建议使用BFS方法并确保处理循环。
对于停止条件,您可以保存可以从about.rootFolderId属性中检索的根文件夹的ID。