Utiliser des clés API avec l'API Roads

Les produits Google Maps Platform sont protégés contre les utilisations non autorisées en limitant les appels d'API aux personnes qui fournissent des identifiants d'authentification appropriés. Ces identifiants se présentent sous la forme d'une clé API, qui correspond à une chaîne alphanumérique unique qui associe votre compte de facturation Google à votre projet, ainsi qu'à l'API ou au SDK spécifique.

Ce guide explique comment créer, restreindre et utiliser votre clé API pour Google Maps Platform.

Avant de commencer

Avant de pouvoir utiliser l'API Roads, vous devez disposer d'un projet avec un compte de facturation et l'API Roads doit être activée. Pour en savoir plus, consultez Configurer vos projets dans la console Cloud.

Créer des clés API

Une clé API est un identifiant unique qui permet d'authentifier les requêtes associées à votre projet à des fins d'utilisation et de facturation. Vous devez associer au moins une clé API à votre projet.

Pour créer une clé API :

Console

  1. Accédez à la page Google Maps Platform > Identifiants.

    Accéder à la page "Identifiants"

  2. Sur la page Identifiants, cliquez sur Créer des identifiants > Clé API.
    La boîte de dialogue Clé API créée affiche la clé API que vous venez de créer.
  3. Cliquez sur Fermer.
    La nouvelle clé API figure sur la page Identifiants sous Clés API.
    (N'oubliez pas de restreindre la clé API avant de l'utiliser en production.)

Cloud SDK

gcloud alpha services api-keys create \
    --project "PROJECT" \
    --display-name "DISPLAY_NAME"

En savoir plus sur le Google Cloud SDK, l'installation du Cloud SDK et les commandes suivantes :

Restreindre les clés API

Google vous recommande vivement de restreindre vos clés API en limitant leur utilisation aux seules API nécessaires à votre application. Restreindre les clés API vous aide à renforcer la sécurité de votre application en la protégeant contre les requêtes non justifiées. Pour en savoir plus, consultez les bonnes pratiques de sécurité pour les API.

Pour restreindre une clé API :

Console

  1. Accédez à la page Google Maps Platform > Identifiants.

    Accéder à la page "Identifiants"

  2. Sélectionnez la clé API pour laquelle vous souhaitez définir une restriction. La page des propriétés de la clé API s'affiche.
  3. Sous Restrictions relatives aux clés, définissez les restrictions suivantes :
    • Restrictions relatives aux applications :
      1. Pour accepter les requêtes de la liste des adresses IP de serveurs Web que vous fournissez, sélectionnez Adresses IP (serveurs Web, tâches Cron, etc.) dans la liste des restrictions relatives aux applications. À l'aide de la notation CIDR, indiquez une ou plusieurs adresses IPv4 ou IPv6, ou encore des sous-réseaux. Les adresses IP doivent correspondre à l'adresse source relevée par les serveurs de Google Maps Platform. Si vous utilisez la traduction d'adresse réseau (NAT), cette adresse correspond généralement à l'adresse IP publique de votre machine.
    • Restrictions relatives aux API :
      1. Cliquez sur Restreindre la clé.
      2. Dans la liste déroulante Sélectionner des API, sélectionnez API Roads. Si l'API Roads ne figure pas dans la liste, vous devez l'activer.
  4. Pour valider les modifications, cliquez sur Enregistrer.

Cloud SDK

Listez les clés existantes.

gcloud services api-keys list --project="PROJECT"

Supprimez les restrictions existantes sur la clé existante.

gcloud alpha services api-keys update "projects/PROJECT/keys/KEY_ID" \
    --clear-restrictions

Définissez de nouvelles restrictions pour la clé existante.

gcloud alpha services api-keys update projects/PROJECT/locations/global/keys/KEY_ID \
    --api-target=service=roads.googleapis.com
    --allowed-ips="IP_ADDRESS"

En savoir plus sur le Google Cloud SDK, l'installation du Cloud SDK et les commandes suivantes :

Ajouter la clé API à votre requête

Vous devez inclure une clé API dans chaque requête de l'API Roads. Dans l'exemple suivant, remplacez YOUR_API_KEY par votre clé API.

https://roads.googleapis.com/v1/snapToRoads?path=-35.27801,149.12958|-35.28032,149.12907|-35.28099,149.12929|-35.28144,149.12984|-35.28194,149.13003|-35.28282,149.12956|-35.28302,149.12881|-35.28473,149.12836 &interpolate=true &key=YOUR_API_KEY

HTTPS est requis pour les requêtes qui utilisent une clé API.