ich eine Dateiliste erhalten mit:die Suche nach einem Pfad zu einer Datei gegeben ist es ID
String q = "title contains '"+query+"' and trashed = false";
FileList list = drive.files().list().setQ(q).execute();
Ich mag einen Pfad zu jeder passenden Datei in der Dateiliste zu finden.
Ich verstehe, dass die gleiche Datei in mehreren Ordnern angezeigt werden kann.
Von dem, was ich gefunden habe, ist der einzige Weg, um einen Pfad für eine Datei erstellen wird wiederholt aufrufen:
drive.files().get(id).execute()
und dann eine ID wählen Sie aus, dass die Eltern-Liste der Datei, den Baum, bis der Fuß nach oben Wurzel ist erreicht.
Während der Navigation durch den Baum kann ich einfach das erste Elternteil auswählen oder ein "BFS" machen, bis ich die Wurzel gefunden habe.
Ist dies wirklich die einzige Möglichkeit, einen Pfad zu einer Datei zu finden, oder habe ich einen Teil der API verpasst?
Wenn dies der einzige Weg ist, können Ordner auch mehrere Eltern haben, wodurch Zyklen möglich sind?
(/ a/b/c =>/a/b/c/b/c/b/c ... wenn b hat Eltern a & c)?
Hat die Elternreferenz ein Titelfeld? Letztendlich muss ich mit einer Liste von Pfadelementen enden, nicht mit Datei-IDs. –
Ich sehe, in diesem Fall können Sie drive.parents.list nicht verwenden. Ich aktualisiere die Antwort, um das zu reflektieren. – Alain
Alain, weißt du, ob es notwendig ist, about.rootFolderId zu verwenden, oder reicht eine leere Elternliste aus? Wenn about.rootFolderId erforderlich ist, kann sich dies innerhalb eines Kontos ändern oder kann ich es dauerhaft zwischenspeichern? –