根据文件的ID查找文件的路径

时间:2012-07-25 19:29:05

标签: google-drive-api

我得到一个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)?

1 个答案:

答案 0 :(得分:4)

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

对于停止条件,您可以保存可以从about.rootFolderId属性中检索的根文件夹的ID。

相关问题