L'API Places Insights est compatible avec OAuth 2.0 pour l'authentification. Google accepte les scénarios courants OAuth 2.0, tels que ceux relatifs à un serveur Web.
Ce document explique comment transmettre un jeton OAuth à l'appel de l'API Places Insights dans votre environnement de développement. Pour savoir comment utiliser OAuth dans un environnement de production, consultez la section Authentification chez Google.
Avant de commencer
Avant de pouvoir utiliser l'API Places Insights, vous devez disposer d'un projet avec un compte de facturation et l'API Places Insights doit être activée. Nous vous recommandons de désigner plusieurs propriétaires de projet et administrateurs de la facturation afin que vous ayez 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 de 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 est compatible avec les interactions entre serveurs, comme 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, de sorte que les utilisateurs ne sont 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 Places Insights dans une application mobile Android ou iOS. Pour obtenir des informations générales sur l'utilisation d'OAuth avec l'API Places Insights, y compris sur la gestion des jetons d'accès pour différents environnements de déploiement, consultez la section Utiliser OAuth 2.0 pour accéder aux API Google.
À propos des champs d'application OAuth
Pour utiliser OAuth avec l'API Places Insights, le champ d'application doit être attribué au jeton OAuth:
https://www.googleapis.com/auth/cloud-platform
Exemple: Essayer des appels d'API REST dans votre environnement de développement local
Si vous souhaitez essayer l'API Places Insights à l'aide d'un jeton OAuth, mais que vous ne disposez pas d'un environnement configuré pour générer des jetons, vous pouvez utiliser 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 en savoir plus sur l'utilisation des ADC pour appeler des API Google à l'aide de bibliothèques clientes, consultez la page S'authentifier à l'aide de bibliothèques clientes.
Prérequis
Avant de pouvoir effectuer une requête REST à l'aide des identifiants par défaut de l'application, utilisez la Google Cloud CLI pour fournir des identifiants aux ADC:
- Si ce n'est pas déjà fait, créez un projet et activez la facturation en suivant les étapes décrites dans la section Configuration dans la Google Cloud Console.
- Installez et initialisez gcloud CLI.
Exécutez la commande
gcloud
suivante sur votre machine locale pour créer votre fichier d'identifiants:gcloud auth application-default login
- Un écran de connexion s'affiche. Une fois que vous êtes connecté, vos identifiants sont stockés dans le fichier d'identifiants local utilisé par 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ête:
Transmettez le jeton OAuth dans l'en-tête
Authorization
à l'aide de la commande suivante pour générer le jeton:gcloud auth application-default print-access-token
Le jeton renvoyé a une portée de
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 vos projets dans la console Cloud.
L'exemple suivant appelle l'API Places Insights à l'aide d'un jeton OAuth:
curl -X POST 'https://areainsights.googleapis.com/v1:computeInsights' \ -H "Content-Type: application/json" \ -H "X-Goog-User-Project: PROJECT_NUMBER_OR_ID" \ -H "Authorization: Bearer $TOKEN" \ --data '{ "insights":[ "INSIGHT_COUNT" ], "filter":{ "location_filter":{ "region":{ "place":"places/ChIJIQBpAG2ahYAR_6128GcTUEo" } }, "type_filter":{ "included_types":[ "restaurant" ] }, "price_levels":[ "PRICE_LEVEL_INEXPENSIVE" ] } }'
Dépannage
Si votre requête renvoie un message d'erreur indiquant que les identifiants d'utilisateur final ne sont pas compatibles avec cette API, consultez la section Les identifiants utilisateur ne fonctionnent pas.