La API de Data Portability consta de los siguientes métodos:
portabilityArchive.initiate
archiveJobs.getPortabilityArchiveState
resetAuthorization
archiveJobs.retryPortabilityArchive
portabilityArchive.initiate
Llama al método portabilityArchive.initiate
para iniciar un nuevo trabajo de exportación de datos.
Cuando inicias un trabajo de exportación para crear un archivo de datos, debes solicitar el grupo de recursos adecuado y proporcionar un token de OAuth con los permisos necesarios para ese grupo de recursos. El token de OAuth se usa para autorizar la solicitud y determinar qué datos del usuario se exportarán.
Para obtener una lista de todos los grupos de recursos compatibles con un servicio en particular, consulta la página de referencia del esquema de ese servicio.
Por ejemplo, si exportas datos de actividad de búsqueda, llama a InitiatePortabilityArchive(resources = ["myactivity.search"])
. La solicitud debe tener un token de OAuth adjunto con el permiso de OAuth de búsqueda: https://www.googleapis.com/auth/dataportability.myactivity.search
.
Si bien es posible incluir varios grupos de recursos en una sola llamada a InitiatePortabilityArchive
, esto no se recomienda. Puedes lograr un procesamiento más rápido si realizas solicitudes InitiatePortabilityArchive
separadas para cada grupo de recursos. Ten en cuenta que cuando solicitas varios grupos de recursos, el token de OAuth adjunto debe tener todos los permisos adecuados adjuntos.
Por ejemplo, en lugar de llamar a InitiatePortabilityArchive(resources = ["myactivity.search","myactivity.youtube"])
para crear un archivo de datos para la actividad de la Búsqueda y YouTube, realiza estas llamadas separadas: InitiatePortabilityArchive(resources = ["myactivity.search"])
y InitiatePortabilityArchive(resources = ["myactivity.youtube"])
.
La solicitud InitiatePortabilityArchive
muestra un job_id
. Este ID de trabajo se usa para recuperar el estado del archivo de datos.
archiveJobs.getPortabilityArchiveState
Se llama al método archiveJobs.getPortabilityArchiveState
para recuperar el state actual del trabajo de exportación de archivos de datos. Cuando llamas a getPortabilityArchiveState
, debes proporcionar el job_id
: GetPortabilityArchiveState(job_id)
. También debes proporcionar un token de OAuth con alcances que coincidan con los grupos de recursos que se usan en la solicitud initiate
.
Si el estado es COMPLETE
, se muestran las URLs de Cloud Storage firmadas que puedes usar para descargar los datos. Las URL firmadas vencen después de seis horas y los datos están disponibles durante 14 días.
Una solicitud de archivo puede tardar varios minutos, varias horas o incluso varios días en completarse, según el volumen de datos. Puedes verificar el estado del archivo cada cinco a 60 minutos.
resetAuthorization
El método resetAuthorization
hace lo siguiente:
- Revoca todos los permisos de OAuth otorgados por el usuario
- Permite que tu aplicación llame a
InitiatePortabilityArchive
para un grupo de recursos que usaste antes - Elimina el acceso a los archivos de datos anteriores
Cuando llamas a resetAuthorization
, debes proporcionar un token de OAuth adjunto para el usuario cuya autorización vas a restablecer.
archiveJobs.retryPortabilityArchive
Se llama al método archiveJobs.retryPortabilityArchive
para reintentar los trabajos con errores en los que el método archiveJobs.getPortabilityArchiveState
ya mostró un state de FAILED
. Esto puede ocurrir debido a una falla transitoria en el backend. En ese caso, puedes reintentar la exportación sin obtener un token de OAuth nuevo del usuario. Cuando llamas a retryPortabilityArchive
, proporcionas el job_id
junto con un token de OAuth válido. Luego, el extremo intenta crear una exportación para los mismos grupos de recursos solicitados en la solicitud initiatePortabilityArchive
inicial. Si se ejecuta de forma correcta, este extremo muestra un job_id
nuevo que puedes usar en llamadas a getPortabilityArchiveState
. Un
trabajo con errores se puede reintentar hasta tres veces.
Por ejemplo:
Tú llamas a
InitiatePortabilityArchive(resources = ["myactivity.search"])
y recibesjob_id: 0
.Después de llamar a
GetPortabilityArchiveState(0)
, recibirásJobSate: FAILED
.Luego, puedes llamar a
RetryPortabilityArchive(0)
con el fin de recibirjob_id: 1
pararesources = ["myactivity.search"]
.Luego, podrás seguir haciendo llamadas a
GetPortabilityArchiveState(1)
.