L'API Routes permet d'utiliser OAuth 2.0 pour l'authentification. Google prend en charge les scénarios OAuth 2.0 courants, tels que ceux d'un serveur Web.
Ce document explique comment transmettre un jeton OAuth à l'appel d'API Routes dans votre environnement de développement. Pour savoir comment utiliser OAuth dans un environnement de production, consultez la page Authentification chez Google.
Avant de commencer
Avant de commencer à utiliser l'API Routes, vous devez disposer d'un projet avec un compte de facturation et l'API Routes activée. Nous vous recommandons de créer plusieurs propriétaires de projet et administrateurs de la facturation afin d'avoir toujours quelqu'un de disponible pour ces rôles dans votre équipe. Pour en savoir plus, consultez Configurer vos projets dans la console Cloud.
À propos d'OAuth
Il existe de nombreuses façons de créer et gérer des jetons d'accès avec OAuth en fonction de votre environnement de déploiement.
Par exemple, le système Google OAuth 2.0 prend en charge les interactions de serveur à serveur, telles que celles entre votre application et un service Google. Pour ce scénario, vous avez besoin d'un compte de service, qui appartient à votre application et non à un utilisateur final individuel. Votre application appelle les API Google au nom du compte de service. Les utilisateurs ne sont donc pas directement impliqués. Pour en savoir plus sur les méthodes d'authentification, consultez la page Authentification chez Google.
Vous pouvez également utiliser l'API Routes dans le cadre d'une application mobile Android ou iOS. Pour obtenir des informations générales sur l'utilisation d'OAuth avec l'API Routes, y compris sur la gestion des jetons d'accès pour différents environnements de déploiement, consultez la page Utiliser OAuth 2.0 pour accéder aux API Google.
À propos des habilitations OAuth
Pour utiliser OAuth avec l'API Routes, le champ d'application doit être attribué au jeton OAuth:
https://www.googleapis.com/auth/cloud-platform
Exemple: Essayer les appels d'API REST dans votre environnement de développement local
Si vous souhaitez essayer l'API Routes à l'aide d'un jeton OAuth, mais que vous n'avez pas configuré d'environnement pour générer des jetons, vous pouvez suivre la procédure décrite dans cette section pour effectuer l'appel.
Cet exemple explique comment utiliser le jeton OAuth fourni par les identifiants par défaut de l'application (ADC) pour effectuer l'appel. Pour savoir comment utiliser ADC pour appeler des API Google à l'aide de bibliothèques clientes, consultez S'authentifier à l'aide de bibliothèques clientes.
Prérequis
Avant d'envoyer une requête REST à l'aide d'ADC, utilisez Google Cloud CLI pour fournir des identifiants à ADC:
- Si vous ne l'avez pas déjà fait, créez un projet et activez la facturation en suivant la procédure décrite dans la section Configurer Google Cloud Console.
- Installez et initialisez gcloud CLI.
Exécutez la commande
gcloud
suivante sur votre ordinateur local pour créer votre fichier d'identifiants:gcloud auth application-default login
- Un écran de connexion s'affiche. Une fois connecté, vos identifiants sont stockés dans le fichier d'identifiants local utilisé par la stratégie ADC.
Pour en savoir plus, consultez la section Environnement de développement local de la documentation Fournir des identifiants pour les identifiants par défaut de l'application.
Envoyer une requête REST
Dans cet exemple, vous transmettez deux en-têtes de requêtes:
Transmettez le jeton OAuth dans l'en-tête
Authorization
à l'aide de la commande suivante:gcloud auth application-default print-access-token
Le jeton renvoyé a un champ d'application défini sur
https://www.googleapis.com/auth/cloud-platform.
- Transmettez l'ID ou le nom de votre projet Google Cloud pour lequel la facturation est activée dans l'en-tête
X-Goog-User-Project
. Pour en savoir plus, consultez Configurer dans Cloud Console.
L'exemple suivant effectue un appel à l'API Routes à l'aide d'un jeton OAuth:
curl -X POST -d '{ "origin":{ "location":{ "latLng":{ "latitude": 37.419734, "longitude": -122.0827784 } } }, "destination":{ "location":{ "latLng":{ "latitude": 37.417670, "longitude": -122.079595 } } }, "travelMode": "DRIVE", }' \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "X-Goog-User-Project: PROJECT_ID" \ -H "X-Goog-FieldMask: routes.duration,routes.distanceMeters" \ "https://routes.googleapis.com/directions/v2:computeRoutes"
Dépannage
Si votre requête renvoie un message d'erreur indiquant que les identifiants de l'utilisateur final ne sont pas compatibles avec cette API, consultez la section Identifiants utilisateur non fonctionnels.