Para configurar OAuth en tu aplicación, debes configurar un flujo de trabajo de OAuth y habilitar los permisos de OAuth de la API de Data Portability.
Configura un flujo de trabajo de OAuth
Para configurar un flujo de OAuth para tu aplicación, sigue los pasos básicos que se indican en la documentación de Identidad de Google.
La mayoría de los desarrolladores usan el flujo de apps web del servidor para obtener el consentimiento de OAuth, pero también puedes usar el flujo de apps web de JavaScript o el flujo de apps para dispositivos móviles y de escritorio.
Alcances de OAuth de la API de Data Portability
Cuando configures tu aplicación de la API de Data Portability para OAuth, habilita los permisos de OAuth de la API de Data Portability que sean relevantes para tu aplicación. Algunos permisos son sensitive
y restricted
, y están sujetos a requisitos adicionales.
Cuando agregas los permisos de la API de Data Portability a tu flujo de OAuth, es posible que haya casos en los que el usuario dé su consentimiento para algunos, pero no para todos los permisos. Tu app debe poder controlar estos casos de las siguientes maneras:
- Permite exportaciones de datos parciales
- Notificar al usuario que no seleccionó todos los permisos necesarios (y fallar de forma elegante)
- Solicitar al usuario los consentimientos restantes
Ten en cuenta que el consentimiento de un usuario te permite realizar una exportación de datos para ese consentimiento específico. Para volver a descargar los datos, necesitas un nuevo consentimiento del usuario.
También debes tener en cuenta que, durante el flujo de OAuth, tu app no sabe qué Cuenta de Google se usó para dar consentimiento. El token de OAuth que recibe tu aplicación es opaco.
Si quieres obtener información sobre cómo los usuarios comparten datos, consulta Cómo compartir una copia de tus datos con un tercero.
Restricciones de alcance
En esta sección, se abordan las restricciones en los alcances que generan errores.
Permisos mixtos
Las solicitudes de alcances de la API de Portabilidad de datos (como https://www.googleapis.com/auth/dataportability.*) no se pueden mezclar con otros alcances (como https://www.googleapis.com/auth/userinfo.email). Este es un ejemplo de una solicitud incorrecta, con la parte restringida en negrita:
https://accounts.google.com/o/oauth2/v2/auth?
client_id=client_id&
redirect_uri=redirect_uri&
response_type=token&
scope=https://www.googleapis.com/auth/dataportability.myactivity.search+https://www.googleapis.com/auth/userinfo.email&
include_granted_scopes=false
Permisos otorgados anteriormente
Nunca debes configurar include_granted_scopes=true
cuando solicites permisos de DPAPI.
Este es un ejemplo de una solicitud incorrecta, con la parte restringida en negrita:
https://accounts.google.com/o/oauth2/v2/auth?
client_id=client_id&
redirect_uri=redirect_uri&
response_type=token&
scope=https://www.googleapis.com/auth/dataportability.myactivity.search&
include_granted_scopes=true
Categorías de permisos
Para obtener una lista de todos los permisos de OAuth compatibles con la API de Portabilidad de datos y sus categorías, consulta Permisos de OAuth disponibles. Para obtener una lista de todos los grupos de recursos y los permisos de OAuth compatibles con un servicio en particular, consulta la página de referencia del esquema de ese servicio.