Effectuer une migration depuis l'API Drive Activity v1

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.