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 l'avoir activée et disposer d'un projet avec un compte de facturation. 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.)

SDK Cloud

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 permet de 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 concernant les clés 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 dans la liste d'adresses IP de serveurs Web que vous fournissez, sélectionnez Adresses IP (serveurs Web, tâches Cron, etc.) dans la liste Restrictions relatives aux applications. Spécifiez une ou plusieurs adresses ou sous-réseau IPv4 ou IPv6 à l'aide du format CIDR. Les adresses IP doivent correspondre à l'adresse source observée par les serveurs Google Maps Platform. Si vous utilisez la traduction d'adresse réseau (NAT), cela correspond généralement à l'adresse IP publique de votre machine.
    • Restrictions relatives aux API :
      1. Cliquez sur Restreindre la clé.
      2. Sélectionnez API Roads dans la liste déroulante Sélectionner des API. Si l'API Roads ne figure pas dans la liste, vous devez l'activer.
  4. Pour valider les modifications, cliquez sur Enregistrer.

SDK Cloud

Répertoriez les clés existantes.

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

Supprimer 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/keys/KEY_ID" \
    --api-target="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 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.