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
Afin de pouvoir utiliser l'API Maps JavaScript, vous devez disposer d'un projet avec un compte de facturation et l'API Maps JavaScript 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
-
Accédez à la page Google Maps Platform > Identifiants.
-
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. -
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
-
Accédez à la page Google Maps Platform > Identifiants.
- 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.
- Sous Restrictions relatives aux clés, définissez les restrictions suivantes :
- Restrictions relatives aux applications :
- Pour accepter les requêtes depuis la liste de sites Web que vous fournissez, sélectionnez URL de provenance HTTP (sites Web) dans la liste Restrictions relatives aux applications.
- Spécifiez un ou plusieurs sites Web de provenance. Vous pouvez utiliser des caractères génériques pour autoriser tous les sous-domaines (par exemple,
https://*.google.com
accepte tous les sites se terminant par.google.com
lorsque l'accès se fait via le protocole HTTPS). Si vous indiquez "www.domaine.com", le système considère que l'URL se termine par un caractère générique (www.domaine.com/*) et autorise alors les sous-chemins d'accès associés à ce nom d'hôte. Spécifiez les URL de provenancehttps://
ethttp://
telles quelles. Pour les autres protocoles d'URL, vous devez utiliser une représentation spéciale. Par exemple, formatezfile:///path/to/
en__file_url__//path/to/*
. Une fois que vous avez activé les sites Web, veillez à surveiller votre utilisation pour vous assurer qu'elle correspond à vos attentes. Les protocoles suivants sont compatibles :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 :
- Cliquez sur Restreindre la clé.
- Sélectionnez API Maps JavaScript dans le menu déroulant Sélectionner des API. Si l'API Maps JavaScript ne figure pas dans la liste, vous devez l'activer.
- 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.
- 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/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", v: "weekly", // Use the 'v' parameter to indicate the version to use (weekly, beta, alpha, etc.). // Add other bootstrap parameters as needed, using camel case. }); </script>