Méthodes de l'API Call Data Portability

L'API Data Portability comprend les méthodes suivantes:

  • portabilityArchive.initiate
  • archiveJobs.getPortabilityArchiveState
  • resetAuthorization
  • archiveJobs.retryPortabilityArchive

portabilityArchive.initiate

Appelez la méthode portabilityArchive.initiate pour démarrer une nouvelle tâche d'exportation de données.

Lorsque vous démarrez une tâche d'exportation pour créer une archive de données, vous devez demander le groupe de ressources approprié et fournir un jeton OAuth avec les champs d'application requis pour ce groupe de ressources. Le jeton OAuth permet d'autoriser la requête et de déterminer quelles données utilisateur sont exportées.

Pour obtenir la liste de tous les groupes de ressources compatibles avec un service particulier, consultez la page de référence du schéma de ce service.

Par exemple, si vous exportez des données d'activité de recherche, vous appelez InitiatePortabilityArchive(resources = ["myactivity.search"]). La requête doit être associée à un jeton OAuth avec le champ d'application OAuth de la recherche : https://www.googleapis.com/auth/dataportability.myactivity.search.

Bien qu'il soit possible d'inclure plusieurs groupes de ressources dans un seul appel InitiatePortabilityArchive, cela n'est pas recommandé. Vous pouvez accélérer le traitement en effectuant des requêtes InitiatePortabilityArchive distinctes pour chaque groupe de ressources. Notez que lorsque vous demandez plusieurs groupes de ressources, le jeton OAuth associé doit être associé à tous les champs d'application appropriés.

Par exemple, au lieu d'appeler InitiatePortabilityArchive(resources = ["myactivity.search","myactivity.youtube"]) pour créer une archive de données pour l'activité de recherche et YouTube, effectuez les appels suivants : InitiatePortabilityArchive(resources = ["myactivity.search"]) et InitiatePortabilityArchive(resources = ["myactivity.youtube"]).

La requête InitiatePortabilityArchive renvoie job_id. Cet ID de job permet de récupérer l'état de l'archive de données.

archiveJobs.getPortabilityArchiveState

La méthode archiveJobs.getPortabilityArchiveState est appelée pour récupérer l'state actuel du job d'exportation d'archive de données. Lorsque vous appelez getPortabilityArchiveState, vous fournissez l'élément job_id : GetPortabilityArchiveState(job_id). Vous devez également fournir un jeton OAuth dont les champs d'application correspondent aux groupes de ressources utilisés dans la requête initiate.

Si l'état est COMPLETE, des URL Cloud Storage signées sont renvoyées. Vous pouvez les utiliser pour télécharger les données. Les URL signées expirent au bout de six heures et les données sont disponibles pendant 14 jours.

Le traitement d'une requête d'archivage peut prendre plusieurs minutes, plusieurs heures, voire plusieurs jours, en fonction du volume de données. Vous pouvez vérifier l'état de l'archive toutes les 5 à 60 minutes.

resetAuthorization

La méthode resetAuthorization effectue les opérations suivantes:

  • Révoque tous les champs d'application OAuth accordés par l'utilisateur
  • Permet à votre application d'appeler InitiatePortabilityArchive pour un groupe de ressources que vous avez utilisé précédemment.
  • Supprime l'accès aux archives de données précédentes

Lorsque vous appelez resetAuthorization, vous devez fournir un jeton OAuth associé pour l'utilisateur dont vous réinitialisez l'autorisation.

archiveJobs.retryPortabilityArchive

La méthode archiveJobs.retryPortabilityArchive est appelée pour relancer les tâches ayant échoué lorsque la méthode archiveJobs.getPortabilityArchiveState a déjà renvoyé un state FAILED. Cela peut se produire en raison d'une défaillance temporaire du backend. Dans ce cas, vous pouvez relancer l'exportation sans obtenir de nouveau jeton OAuth de la part de l'utilisateur. Lorsque vous appelez retryPortabilityArchive, vous fournissez job_id ainsi qu'un jeton OAuth valide. Le point de terminaison tente ensuite de créer une exportation pour les mêmes groupes de ressources demandés dans la requête initiatePortabilityArchive initiale. Si la requête aboutit, ce point de terminaison renvoie un nouveau job_id que vous pouvez utiliser dans les appels à getPortabilityArchiveState. Une tâche ayant échoué peut être relancée jusqu'à trois fois.

Exemple :

  1. Vous appelez InitiatePortabilityArchive(resources = ["myactivity.search"]), et vous recevez job_id: 0.

  2. Après avoir appelé GetPortabilityArchiveState(0), vous recevez JobSate: FAILED.

  3. Vous pouvez ensuite appeler RetryPortabilityArchive(0) afin de recevoir job_id: 1 pour resources = ["myactivity.search"].

  4. Vous pourrez ensuite continuer à appeler GetPortabilityArchiveState(1).