webentwicklung-frage-antwort-db.com.de

So erhalten Sie eine Liste der Dateien nach Ordner in der Google Drive-API

Ich versuche, eine Web-Benutzeroberfläche zu erstellen, über die Benutzer in Google Drive navigieren und ein oder mehrere Dokumente auswählen können, auf die später auf einer Website in einer Datenbank verwiesen wird. Ich baue gerade ein Webinterface mit .NET auf. Das Problem, dem ich gegenüberstehe, ist, dass ich keine einzige Funktion finden kann, um eine Liste der Dateien nach Ordner-ID zu erhalten. Ich habe versucht mit:

... www.googleapis.com/drive/v2/files/BB0CHANGEDIDF5waGdzbUQ5aWs/children

… Aber das gibt nur den Dateien die Referenz-ID der Dateien im Ordner (das so genannte untergeordnete Ressourcenelement). Das bedeutet, dass ich diese Dateien durchlaufen und für jede einen Aufruf erstellen muss, um alle Metadaten abzurufen Ich brauche für meine Benutzeroberfläche. Unglücklicherweise..

... www.googleapis.com/drive/v2/files

..wird ALLE meine Dateien ohne Filteroptionen nach Ordner auflisten. Ich möchte wissen, ob es eine effiziente Möglichkeit gibt, eine Ordner- und Dateiliste für einen bestimmten Ordner aus einem einzelnen Aufruf an den Drive-Server zu extrahieren.

Ich habe es auch versucht ( basierend auf der Antwort auf das ähnliche Problem ): Ich benutze Fiddler, um direkte Anrufe an die API zu tätigen. Wenn ich das benutze, um den Anruf zu tätigen

... www.googleapis.com/drive/v2/files?q='BB0CHANGEDIDF5waGdzbUQ5aWs'

Ich erhalte einen Fehler:

{
 "error": {
  "errors": [
   {wrongID
    "domain": "global",
    "reason": "invalid",
    "message": "Invalid Value",
    "locationType": "parameter",
    "location": "q"
   }
  ],
  "code": 400,
  "message": "Invalid Value"
 }
}

Auch mit googles Testseite geht das nicht. Es sieht so aus, als ob der Endpunkt "files" keine Parameter akzeptiert.

Dafür muss es einen Weg geben!

Danke für deine Hilfe

32
user3199365

Sie sollten in der Lage sein, einfach files/list mit einer übergeordneten Abfrage zu verwenden.

GET https://www.googleapis.com/drive/v2/files?q='BB0CHANGEDIDF5waGdzbUQ5aWs'+in+parents&key={YOUR_API_KEY}
33

So rufen Sie mithilfe der v3-API bestimmte Dateifelder in einem Ordner ab:

https://www.googleapis.com/drive/v3/files?q="folderId"+in+parents&fields=files(md5Checksum,+originalFilename)
//

Ersetzen Sie "folderId" durch die Ordner-ID.

Sie können &fields=files(*) verwenden, um alle Felder der Datei abzurufen.

8
XP1