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 :
Vous appelez
InitiatePortabilityArchive(resources = ["myactivity.search"])
, et vous recevezjob_id: 0
.Après avoir appelé
GetPortabilityArchiveState(0)
, vous recevezJobSate: FAILED
.Vous pouvez ensuite appeler
RetryPortabilityArchive(0)
afin de recevoirjob_id: 1
pourresources = ["myactivity.search"]
.Vous pourrez ensuite continuer à appeler
GetPortabilityArchiveState(1)
.