Utiliser des clés API

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 Maps JavaScript, 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.)

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 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 depuis la liste de sites Web que vous fournissez, sélectionnez Référents HTTP (sites Web) dans la liste Restrictions relatives aux applications.
      2. Spécifiez un ou plusieurs sites Web référents. Vous pouvez utiliser des caractères génériques pour autoriser tous les sous-domaines (par exemple, *.google.com accepte tous les sites se terminant par .google.com). Spécifiez https:// et http:// tels quels. Vous devez utiliser une représentation spéciale pour les autres types de protocoles d'URL de provenance. Par exemple, formatez file:///path/to/ en __file_url__//path/to/*. Une fois que vous avez activé les référents, veillez à surveiller votre utilisation pour vous assurer qu'elle correspond à vos attentes. Les protocoles de référent suivants sont acceptés : about://, app://, applewebdata://, asset://, chrome://, content://, file://, ftp://, ionic://, local://, ms-appx://, ms-appx-web://, ms-local-stream://, prism://, qrc://, res://, saphtmlp://.
    • Restrictions relatives aux API :
      1. Cliquez sur Restreindre la clé.
      2. Sélectionnez API Maps JavaScript dans la liste déroulante Sélectionner des API. (Si l'API Maps JavaScript ne figure pas dans la liste, vous devez l'activer.)
      3. Si votre projet utilise la bibliothèque Places, sélectionnez également API Places. De même, si votre projet utilise d'autres services dans l'API JavaScript (service Directions, service Distance Matrix, service Elevation et/ou service Geocoding), vous devez également activer et sélectionner l'API correspondante dans cette liste.
  4. Pour valider les modifications, cliquez sur Enregistrer.

Cloud SDK

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="maps-backend.googleapis.com"
    --allowed-referrers="referer

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 Maps JavaScript. Dans l'exemple suivant, remplacez YOUR_API_KEY par votre clé API.

<script>
  (g=>{var h,a,k,p="The Google Maps JavaScript API",c="google",l="importLibrary",q="__ib__",m=document,b=window;b=b[c]||(b[c]={});var d=b.maps||(b.maps={}),r=new Set,e=new URLSearchParams,u=()=>h||(h=new Promise(async(f,n)=>{await (a=m.createElement("script"));e.set("libraries",[...r]+"");for(k in g)e.set(k.replace(/[A-Z]/g,t=>"_"+t[0].toLowerCase()),g[k]);e.set("callback",c+".maps."+q);a.src=`https://maps.${c}apis.com/maps/api/js?`+e;d[q]=f;a.onerror=()=>h=n(Error(p+" could not load."));a.nonce=m.querySelector("script[nonce]")?.nonce||"";m.head.append(a)}));d[l]?console.warn(p+" only loads once. Ignoring:",g):d[l]=(f,...n)=>r.add(f)&&u().then(()=>d[l](f,...n))})({
    key: "YOUR_API_KEY_HERE",
    // Add other bootstrap parameters as needed, using camel case.
    // Use the 'v' parameter to indicate the version to load (alpha, beta, weekly, etc.)
  });
</script>