Metodi dell'API Call Data Portability

L'API Data Portability è costituita da questi metodi:

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

portabilityArchive.initiate

Chiamerai il metodo portabilityArchive.initiate per avviare un nuovo job di esportazione dati.

Quando avvii un job di esportazione per creare un archivio di dati, devi richiedere il gruppo di risorse appropriato e fornire un token OAuth con gli ambiti richiesti per il gruppo di risorse. Il token OAuth viene utilizzato per autorizzare la richiesta e determinare quali dati utente vengono esportati.

Per un elenco di tutti i gruppi di risorse supportati da un determinato servizio, consulta la pagina di riferimento dello schema di quel servizio.

Ad esempio, se esporti i dati dell'attività di ricerca, chiami InitiatePortabilityArchive(resources = ["myactivity.search"]). La richiesta deve avere un token OAuth associato all'ambito OAuth di ricerca: https://www.googleapis.com/auth/dataportability.myactivity.search.

Sebbene sia possibile includere più gruppi di risorse in una singola chiamata InitiatePortabilityArchive, questa operazione non è consigliata. Puoi ottenere un'elaborazione più rapida effettuando richieste InitiatePortabilityArchive separate per ogni gruppo di risorse. Quando richiedi più gruppi di risorse, al token OAuth associato devono essere collegati tutti gli ambiti appropriati.

Ad esempio, invece di chiamare InitiatePortabilityArchive(resources = ["myactivity.search","myactivity.youtube"]) per creare un archivio dati sia per le attività di ricerca sia per le attività di YouTube, effettua queste chiamate separate: InitiatePortabilityArchive(resources = ["myactivity.search"]) e InitiatePortabilityArchive(resources = ["myactivity.youtube"]).

La richiesta InitiatePortabilityArchive restituisce un job_id. Questo ID job viene utilizzato per recuperare lo stato dell'archivio dati.

archiveJobs.getPortabilityArchiveState

Il metodo archiveJobs.getPortabilityArchiveState viene chiamato per recuperare lo state attuale del job di esportazione dell'archivio dati. Quando chiami getPortabilityArchiveState, fornisci job_id: GetPortabilityArchiveState(job_id). Devi inoltre fornire un token OAuth con ambiti corrispondenti ai gruppi di risorse utilizzati nella richiesta initiate.

Se lo stato è COMPLETE, vengono restituiti gli URL di Cloud Storage firmati che puoi utilizzare per scaricare i dati. Gli URL firmati scadono dopo sei ore e i dati sono disponibili per 14 giorni.

Il completamento di una richiesta di archiviazione può richiedere diversi minuti, diverse ore o persino diversi giorni, a seconda del volume dei dati. Puoi controllare lo stato dell'archivio ogni 5-60 minuti.

resetAuthorization

Il metodo resetAuthorization:

  • Revoca tutti gli ambiti OAuth concessi dall'utente
  • Consente all'applicazione di chiamare InitiatePortabilityArchive per un gruppo di risorse utilizzato in precedenza
  • Rimuove l'accesso agli archivi di dati precedenti

Quando chiami resetAuthorization, devi fornire un token OAuth collegato all'utente di cui stai reimpostando l'autorizzazione.

archiveJobs.retryPortabilityArchive

Il metodo archiveJobs.retryPortabilityArchive viene chiamato per riprovare i job non riusciti quando il metodo archiveJobs.getPortabilityArchiveState ha già restituito uno state pari a FAILED. Ciò può essere dovuto a un guasto temporaneo nel backend. In questo caso, puoi riprovare a eseguire l'esportazione senza ottenere un nuovo token OAuth all'utente. Quando chiami retryPortabilityArchive, fornisci il valore job_id insieme a un token OAuth valido. L'endpoint tenta quindi di creare un'esportazione per gli stessi gruppi di risorse richiesti nella richiesta initiatePortabilityArchive iniziale. In caso di esito positivo, questo endpoint restituisce un nuovo job_id che puoi utilizzare nelle chiamate a getPortabilityArchiveState. Un job non riuscito può essere riprovato fino a tre volte.

Ad esempio:

  1. Chiami InitiatePortabilityArchive(resources = ["myactivity.search"]) e ricevi job_id: 0.

  2. Dopo aver chiamato GetPortabilityArchiveState(0), riceverai JobSate: FAILED.

  3. Puoi quindi chiamare RetryPortabilityArchive(0) per ricevere job_id: 1 per resources = ["myactivity.search"].

  4. Dopodiché potrai continuare a effettuare chiamate al numero GetPortabilityArchiveState(1).