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:
Chiami
InitiatePortabilityArchive(resources = ["myactivity.search"])
e ricevijob_id: 0
.Dopo aver chiamato
GetPortabilityArchiveState(0)
, riceveraiJobSate: FAILED
.Puoi quindi chiamare
RetryPortabilityArchive(0)
per riceverejob_id: 1
perresources = ["myactivity.search"]
.Dopodiché potrai continuare a effettuare chiamate al numero
GetPortabilityArchiveState(1)
.