La dernière version de l'API Google Drive est la v3. Dans la version 3, les performances sont meilleures, les recherches ne renvoient qu'un sous-ensemble de champs. Utilisez la version actuelle, sauf si vous en avez besoin la collection v2. Si vous utilisez la version 2, migrer vers la v3. Pour effectuer la migration, consultez Migrer vers l'API Drive v3. Pour obtenir la liste complète des différences de version, consultez Comparaison entre les versions 2 et 3 des API Drive référence.
Si vous souhaitez continuer à utiliser la version 2, consultez l'avenant relatif au Guide de l'API Drive version 2 pour connaître les instructions doivent être modifiés pour les développeurs de la version 2.
Pour en savoir plus sur les améliorations apportées à la version 3 de l'API Drive, regardez le ci-dessous, la vidéo d'ingénieurs Google sur la nouvelle conception de l'API.
Améliorations apportées à V3
Pour optimiser les performances et réduire la complexité du comportement de l'API, la version 3 fournit ces par rapport à la version précédente de l'API:
- Par défaut, les recherches de fichiers et de Drive partagés ne renvoient pas toutes les ressources,
seul un sous-ensemble des champs couramment utilisés est renvoyé. Pour en savoir plus sur
fields
, reportez-vous à la méthodefiles.list
et la méthodedrives.list
. - Presque toutes les méthodes qui renvoient une réponse nécessitent désormais l'
fields
. Pour obtenir la liste de toutes les méthodes nécessitantfields
, consultez la Documentation de référence de l'API Drive - Les ressources ayant des capacités en double ont été supprimées. Voici quelques exemples:
<ph type="x-smartling-placeholder">
- </ph>
- La méthode
files.list
offre la même fonctionnalité queChildren
etParents
. Elles sont donc supprimées de la version 3. - Les méthodes
Realtime.*
ont été supprimées.
- La méthode
- Les données d'application ne sont pas renvoyées par défaut dans les recherches. Dans la version 2, vous pouvez définir
drive.appdata
et il renvoie les données d'application defiles.list
. et la méthodechanges.list
, mais elle ralentit les performances. Dans la version 3, vous définissez le champ d'applicationdrive.appdata
, et définissez également le paramètre de requêtespaces=appDataFolder
pour demander les données d'application. - Toutes les opérations de mise à jour utilisent PATCH au lieu de PUT.
- Pour exporter des documents Google, utilisez le
files.export
. - Le comportement de la méthode
changes.list
est différent. Au lieu des ID de modification, utilisez des jetons de page opaques. Pour interroger la collecte des modifications, commencez par appeler la méthodechanges.getStartPageToken
pour la valeur initiale. Pour les requêtes suivantes, lechanges.list
renvoie la valeurnewStartPageToken
. - Les méthodes de mise à jour rejettent désormais les requêtes spécifiant des champs non accessibles en écriture.
- Les champs
exportFormats
etimportFormats
de la version 2 de la Les ressourcesabout
sont des listes des formats d'importation ou d'exportation autorisés. Dans la version 3, il s'agit de mappages de types MIME cibles possibles pour toutes les importations ou exportations compatibles. - Dans la version 2, les alias
appdata
etappfolder
sont désormaisappDataFolder
dans la version 3. - La ressource
properties
a été supprimée de la version 3. La La ressourcefiles
comporte le champproperties
contenant de véritables paires clé-valeur. Le champproperties
contient et le champappProperties
contient des propriétés privées. le champ de visibilité n'est pas nécessaire. - Le champ
modifiedTime
de la ressourcefiles
est mis à jour la dernière fois toute personne ayant modifié le fichier. Dans la version 2, le champmodifiedDate
n'était que modifiable lors de la mise à jour si vous définissez le champsetModifiedDate
. - Le champ
viewedByMeTime
de la ressourcefiles
ne s'applique pas automatiquement mise à jour. - Pour importer des formats Google Docs, vous devez définir la cible
mimeType
dans le corps de la ressource. Dans la version 2, vous définissez?convert=true
. - Les opérations d'importation renvoient une erreur 400 si le format n'est pas compatible.
- Les lecteurs et les commentateurs ne peuvent pas voir les autorisations.
- L'alias
me
pour les autorisations est supprimé. - Certaines fonctionnalités étaient disponibles dans la ressource de requête, mais sont
comme paramètre de requête. Exemple :
- Dans la version 2, vous pouvez utiliser
children.delete
pour supprimer un fichier enfant d'une dossier parent. - Dans la version 3, vous utilisez
files.update
sur l'enfant avec?removeParents=parent_id
dans l'URL.
- Dans la version 2, vous pouvez utiliser
Autres différences
Les noms des champs et des paramètres sont différents dans la version 3. Voici quelques exemples :
- La propriété
name
remplacetitle
dans la ressourcefiles
. Time
est le suffixe de tous les champs de date et d'heure, au lieu deDate
.- Les opérations de liste n'utilisent pas le champ
items
pour contenir l'ensemble de résultats. La type de ressource fournit un champ pour les résultats (tel quefiles
ouchanges
).