Introducción: Desarrolla apps con la API de portabilidad de datos

La API de Data Portability te permite compilar aplicaciones que solicitan autorización de un usuario para mover una copia de los datos de los servicios de Google a tu aplicación. Esto permite la portabilidad de datos y facilita el cambio de servicios.

Si buscas información sobre cómo los usuarios comparten datos, consulta Cómo compartir una copia de tus datos con un tercero.

Requisitos previos

Antes de lanzar tu app, debe estar aprobada por Google.

También debes verificar que la API de portabilidad de datos esté disponible para los usuarios en tu ubicación. Para obtener una lista de las regiones y los países admitidos, consulta las Preguntas frecuentes en la página "Comparte una copia de tus datos con un tercero".

Flujo de trabajo del desarrollador

Estos son los pasos que debes seguir para crear una aplicación que use la API de portabilidad de datos.

Los pasos que sigue un desarrollador para crear una app con la API de Data Portability

  1. Implementar el flujo de consentimiento de OAuth para el usuario En este ejemplo, el usuario proporciona acceso a los datos del video de YouTube.

    1. El usuario hace clic en Importar videos de YouTube y accede a su Cuenta de Google.

    2. La aplicación reenvía al usuario a una URL de consentimiento de OAuth. Ten en cuenta que esta URL de ejemplo se simplificó y le faltan algunos parámetros:

      https://accounts.google.com/o/oauth2/v2/auth?scope=https://www.googleapis.com/auth/dataportability.myactivity.youtube

    3. El usuario hace clic en Siguiente en la pantalla de consentimiento de OAuth, acepta compartir sus datos y proporciona acceso a la cuenta.

    4. Se redirecciona al usuario a la app.

    5. El desarrollador obtiene un token de OAuth para el usuario.

  2. Tu app llama a InitiatePortabilityArchive(resources = ["myactivity.youtube"]) con un token de OAuth adjunto que contiene este permiso de OAuth:

    https://www.googleapis.com/auth/dataportability.myactivity.youtube

    Esta llamada inicia el proceso de creación del archivo de datos. El archivo de portabilidad se debe iniciar dentro de las 24 horas posteriores a la autorización del usuario.

  3. Tu app llama a GetPortabilityArchiveState(job_id) con un token de OAuth adjunto que contiene este permiso de OAuth:

    https://www.googleapis.com/auth/dataportability.myactivity.youtube

    Puedes llamar a este método varias veces para recuperar el estado del trabajo de archivo. El método devuelve el estado del trabajo. Si el estado es COMPLETE, significa que el archivo está listo y se proporcionan las URLs firmadas de Cloud Storage. Ten en cuenta que el tiempo que lleva completar la solicitud de archivo puede variar de minutos a horas, según el tamaño de los datos.

  4. Descarga el archivo de datos mediante las URLs firmadas.

  5. Llama a ResetAuthorization() con un token de OAuth adjunto para restablecer los recursos agotados y quitar todos los consentimientos de OAuth.

Para obtener más información sobre el uso de los métodos de la API de portabilidad de datos, consulta Métodos de la API de portabilidad de datos de llamadas.

Cómo interactúan los usuarios con una app de la API de Data Portability

En este diagrama, se muestra cómo interactúan los usuarios con una app integrada en la API de portabilidad de datos.

Los pasos que debe seguir el usuario para exportar sus datos

  1. Primero, al usuario se le presenta una opción para recuperar sus datos.

  2. Luego, el usuario accede a su Cuenta de Google.

  3. Luego, el usuario hace clic en Siguiente cuando se le solicita compartir sus datos y en Entendido cuando se le solicita que acepte la política de privacidad.

  4. Luego, se muestra al usuario una pantalla de consentimiento de OAuth que se usa para permitir que la aplicación acceda a sus datos. Las opciones aquí coinciden con los permisos de OAuth que configuraste.

  5. Después de permitir el acceso, comenzará la importación de datos. Según el tamaño de los datos, la solicitud puede tardar entre varios minutos y varias horas en completarse.