Es 3 alternative Antworten, die ich denke, Ihnen eine Idee von bekommen.
Alternative 1. Rekursion
Die Versuchung, die Kinder ordnerA, für alle Kinder zur Liste wäre, die Ordner sind, rekursiv ihre Kinder auflisten, spülen, wiederholen. In einer sehr kleinen Zahl von Fällen, könnte dies der beste Ansatz sein, aber für die meisten, hat es die folgenden Probleme: -
- Es verbraucht woefully Zeit einen Server Rundfahrt für jeden Unter Ordner zu tun. Dies hängt natürlich von der Größe Ihres Baumes ab, wenn Sie also garantieren können, dass Ihre Baumgröße klein ist, könnte es OK sein.
Alternative 2. Die gemeinsame Mutter
Dies funktioniert am besten, wenn alle Dateien von Ihrer App erstellt werden (dh. Sie drive.file Umfang verwenden). Erstellen Sie, wie oben in der Ordnerhierarchie , einen Dummy-übergeordneten Ordner namens say "MyAppCommonParent". Als erstellen Sie jede Datei als Kind seines bestimmten Ordners, Sie auch machen es ein Kind von MyAppCommonParent. Dies wird viel mehr intuitiv, wenn Sie daran denken, Ordner als Etiketten zu denken. Sie können nun einfach alle Descendants abrufen, indem Sie einfach MyAppCommonParent in parents
abfragen.
Alternative 3. Folders erste
starten durch alle Ordner zu bekommen. Ja, alle von ihnen. Sobald Sie alle im Speicher haben, können Sie durch ihre Elterneigenschaften crawlen und Ihre Baumstruktur und Liste der Ordner-IDs erstellen. Sie können dann eine einzige files.list?q='folderA' in parents or 'folderA1' in parents or 'folderA1a' in parents....
Mit dieser Technik können Sie alles in zwei http Anrufe erhalten.
Alternative 2 ist die effektivste, aber funktioniert nur, wenn Sie Kontrolle der Dateierstellung haben. Alternative 3 ist im Allgemeinen effizienter als Alternative 1, aber es kann bestimmte kleine Baumgrößen geben, wo 1 am besten ist.
Ich denke, Alternative 3 ist, was ich tue, aber Alternative 2 ist eine großartige Lösung. Danke vielmals :) –