Pour configurer OAuth pour votre application, vous devez configurer un workflow OAuth et activer les champs d'application OAuth de l'API Data Portability.
Configurer un workflow OAuth
Pour configurer un flux OAuth pour votre application, suivez les étapes de base décrites dans la documentation Google Identity.
La plupart des développeurs utilisent le flux Applications Web côté serveur pour obtenir le consentement OAuth, mais vous pouvez également utiliser le flux d'application Web JavaScript ou le flux d'application mobile et de bureau.
Champs d'application OAuth de l'API Data Portability
Lorsque vous configurez votre application API Data Portability pour OAuth, activez les champs d'application OAuth de l'API Data Portability qui sont pertinents pour votre application. Certains champs d'application sont sensitive
et restricted
et sont soumis à des exigences supplémentaires.
Lorsque vous ajoutez les champs d'application de l'API Data Portability à votre flux OAuth, il est possible que votre utilisateur donne son consentement à certains, mais pas à tous. Votre application doit pouvoir gérer ces cas en:
- Autoriser l'exportation partielle des données
- Informer l'utilisateur qu'il n'a pas sélectionné tous les champs d'application nécessaires (et échouer de manière élégante)
- Demander à l'utilisateur les autres consentements
Notez que le consentement d'un utilisateur vous permet d'exporter une seule fois des données pour ce consentement spécifique. Pour télécharger à nouveau les données, vous avez besoin d'un nouveau consentement de l'utilisateur.
Notez également que pendant le flux OAuth, votre application ne sait pas quel compte Google a été utilisé pour donner son autorisation. Le jeton OAuth que votre application reçoit est opaque.
Pour en savoir plus sur la façon dont les utilisateurs partagent des données, consultez Partager une copie de vos données avec un tiers.
Restrictions concernant les champs d'application
Cette section traite des restrictions dans les champs d'application qui entraînent des erreurs.
Champs d'application mixtes
Les requêtes pour les champs d'application de l'API Portabilité des données (par exemple, https://www.googleapis.com/auth/dataportability.*) ne peuvent pas être mélangées à d'autres champs d'application (par exemple, https://www.googleapis.com/auth/userinfo.email). Voici un exemple de requête incorrecte, avec la partie limitée en gras:
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
Étendues précédemment accordées
Vous ne devez jamais définir include_granted_scopes=true
lorsque vous demandez des champs d'application DPAPI.
Voici un exemple de requête incorrecte, avec la partie restreinte en gras:
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
Catégories de champs d'application
Pour obtenir la liste de tous les champs d'application OAuth compatibles avec l'API Data Portability et leurs catégories, consultez la section Champs d'application OAuth disponibles. Pour obtenir la liste de tous les groupes de ressources et des habilitations OAuth compatibles avec un service particulier, consultez la page de référence du schéma de ce service.