Effectuer une migration depuis l'API Drive Activity v1

Ce guide explique les différences entre les versions 1 et 2 de l'API Google Drive Activity, et comment modifier votre application v1 pour qu'elle prenne en charge l'API v2.

Autorisation

L'API v1 utilisait cette portée:

  • 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 l'API v1, les identifiants d'objets tels que les éléments et les utilisateurs Google Drive étaient des chaînes opaques. Dans l'API v2, 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 d'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.

Demandes

Le format de requête de 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. Notez toutefois 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/.

"Groupement" est désormais appelé Consolidation, et les paramètres de requête source et userId ont été supprimés.

De nouvelles options de filtrage vous permettent également de limiter les types de données d'activité renvoyés dans la réponse.

Actions

Dans l'API v1, le type d'activité et les données associées à cette activité se trouvaient dans des champs distincts. Par exemple, si le champ primaryEventType contient la valeur move, les applications supposent qu'un champ move de niveau supérieur est renseigné avec les parents ajoutés et supprimés.

Dans l'API v2, ces champs ne sont plus distincts. Le message ActionDetail comporte exactement un seul champ défini. 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, et ce champ liste les parents ajoutés et supprimés.

Le champ primaryEventType de l'API v1 correspond à peu près au primaryActionDetail de la version v2.

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 les 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 les interroger à partir de l'API People en transmettant le champ KnownUser personName à la méthode people.get.

Cibles

Dans l'API v1, les cibles étaient toujours des éléments Drive. Dans l'API v2, les cibles peuvent être d'autres types d'objets dans Drive. Par exemple, les modifications apportées à un disque ont un type de cible Drive. Le dossier racine d'un Drive partagé est toujours renvoyé (en tant que DriveItem dans le champ root), mais il ne s'agit pas de 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 discussion de commentaires cible.

Activité consolidée

Dans l'API v1, le style de réponse changeait lorsqu'une stratégie de consolidation ("grouping") était définie. Plus précisément, lorsque la consolidation était activée, chaque activité contenait le singleEvents constituant et un combinedEvent qui résumait l'activité commune entre ces événements constituants. Lorsque la consolidation était désactivée, le champ combinedEvent contenait l'événement d'origine non consolidé pour chaque activité. Chacun de ces événements peut représenter plusieurs actions, comme 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 l'DriveActivity renvoyé contient toujours l'ensemble complet des acteurs, des cibles et des actions.