web-dev-qa-db-fra.com

Comment obtenir la liste des fichiers par dossier sur l'API Google Drive

J'essaie de créer une interface utilisateur Web pour que les utilisateurs puissent naviguer dans son Google Drive et sélectionner un ou plusieurs documents à référencer plus tard dans un site Web à partir d'une base de données. Je suis en train de construire une interface web en utilisant .NET. Le problème auquel je suis confronté est que je ne trouve pas une seule fonction pour obtenir une liste de fichiers par ID de dossier. J'ai essayé d'utiliser:

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

… Mais cela ne donnera que l'ID de référence des fichiers dans le dossier (l'élément de ressource appelé enfants), ce qui signifie que je dois parcourir ces fichiers et créer un appel pour chacun d'eux afin d'obtenir toutes les métadonnées J'ai besoin de mon interface utilisateur. Malheureusement..

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

.. listera TOUS mes fichiers sans options de filtrage par dossier. Je voudrais savoir s'il existe un moyen efficace d'extraire une liste de dossiers et de fichiers d'un seul appel au serveur Drive pour un dossier spécifique.

J'ai également essayé ceci ( basé sur la réponse au problème similaire ): J'utilise Fiddler pour faire des appels directs à l'API. Quand j'utilise ceci pour faire l'appel `

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

Je reçois une erreur:

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

Même en utilisant la page de test de Google ne le fait pas. Il semble que le point de terminaison "fichiers" n'accepte aucun paramètre.

Il doit y avoir un moyen d'y parvenir!

Merci de votre aide

32
user3199365

Vous devriez pouvoir simplement utiliser fichiers/liste avec une requête parent;

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

Voici comment obtenir des champs spécifiques de fichiers dans un dossier à l'aide de l'API v3:

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

Remplacez "folderId" par l'ID de dossier.

Vous pouvez utiliser &fields=files(*) pour obtenir tous les champs du fichier.

8
XP1