Ce guide décrit les différences entre la version 1 et la version 2 de l'API Google Drive Activity, et la manière de modifier votre application v1 pour la rendre compatible avec la version 2 de l'API.
Autorisation
L'API v1 a utilisé ce champ d'application:
https://www.googleapis.com/auth/activity
L'API v2 nécessite l'un des champs d'application suivants:
https://www.googleapis.com/auth/drive.activity
https://www.googleapis.com/auth/drive.activity.readonly
Noms de ressources
Dans la version 1 de l'API, les identifiants d'objets tels que des éléments Google Drive et des utilisateurs étaient des chaînes opaques. Dans la version 2, ces objets sont généralement référencés à l'aide de noms de ressources. Pour en savoir plus, consultez le guide de conception des API Cloud.
Ces identifiants peuvent généralement être convertis. Par exemple, les éléments Drive de l'API v2 sont référencés à l'aide du nom de ressource items/ITEM_ID_V1
.
Requêtes
Le format de requête pour la version 2 est semblable à celui de la version 1. Plus précisément, vous pouvez toujours demander une activité pour un fichier Drive ou un ancêtre Drive, mais notez que vous devez mettre en forme ces paramètres de requête en tant que noms de ressources en leur ajoutant le préfixe items/
.
Le "regroupement" s'appelle désormais Consolidation, et les paramètres de requête source
et userId
ont été supprimés.
De nouvelles options de filtre vous permettent également de limiter les types de données d'activité renvoyées dans la réponse.
Actions
Dans la version 1 de l'API, le type d'activité et les données associées à cette activité se trouvaient dans des champs distincts. Par exemple, si le champ primaryEventType
contenait la valeur move
, les applications supposent qu'un champ move
de niveau supérieur contient les parents ajoutés et supprimés.
Dans la version 2 de l'API, ces champs ne sont plus distincts. Un seul champ est défini pour le message ActionDetail
. Il indique le type d'action et contient les détails associés à cette action. Par exemple, un ActionDetail
représentant un déplacement ne définit que le champ move
, qui répertorie les parents ajoutés et supprimés.
Le champ primaryEventType
de l'API v1 correspond à peu près au champ primaryActionDetail
de la version 2.
Actors
Dans l'API v1, l'activité renvoyée contenait un User
si l'acteur était un utilisateur connu et éventuellement un champ de niveau supérieur tel que fromUserDeletion
pour des cas particuliers.
Dans l'API v2, un ensemble plus riche de types Actor
est disponible, et user.knownUser
est renseigné lorsque l'acteur est un utilisateur connu. Si votre application a besoin d'informations détaillées sur les utilisateurs, elle peut l'interroger à partir de l'API People en transmettant le champ KnownUser
personName
à la méthode people.get
.
Cibles
Dans la version 1 de l'API, les cibles étaient toujours des éléments Drive. Dans la version 2, les cibles peuvent être d'autres types d'objets dans Drive. Par exemple, les modifications apportées à un disque sont associées au type de cible Drive
. Le dossier racine d'un Drive partagé est toujours renvoyé (en tant que DriveItem
dans le champ root
), mais ce n'est pas la cible immédiate de l'activité. Un concept similaire s'applique à une ressource FileComment
, dont le champ parent
fait référence à l'élément Drive contenant le fil de commentaires cible.
Activité consolidée
Dans la version 1 de l'API, le style de réponse changeait lorsqu'une stratégie de consolidation ("regroupement") était définie. Plus précisément, lorsque la consolidation était activée, chaque activité contenait le singleEvents
constitutif et un combinedEvent
résumant l'activité commune à ces événements constitutifs. Lorsque la consolidation a été désactivée, le champ combinedEvent
contenait l'événement non consolidé d'origine pour chaque activité. Chacun de ces événements peut représenter plusieurs actions, telles qu'une création et un partage.
Dans l'API v2, le style de réponse ne change pas en fonction de la stratégie de consolidation, car le DriveActivity
renvoyé contient toujours l'ensemble complet des acteurs, des cibles et des actions.