web-dev-qa-db-fra.com

La clé API Google Maps v3 ne fonctionnera pas pour les tests locaux

J'ai une clé API. C'est une "clé pour les applications de navigateur (avec des référents). Cela fonctionne bien, mais je ne suis pas autorisé lorsque j'essaie de l'utiliser sur mon serveur de développement local. J'utilise MAMP et mon URL locale ressemble à ceci: http://mysite.dev.

Dans la section "Référents", j'ai:

mysite.com/*
mysite.dev/*

Celui de production (.com) fonctionne très bien, donc je suis sûr que ma syntaxe est correcte. Mais peu importe ce que j'essaie pour la version locale, je reçois le popup d'erreur d'autorisation de Google me disant:

Google a désactivé l'utilisation de l'API Maps pour cette application. La clé fournie n'est pas une clé API Google valide, ou elle n'est pas autorisée pour l'API Javascript Google Maps v3 sur ce site. Si vous êtes le propriétaire de cette application, vous pouvez en savoir plus sur l'obtention d'une clé valide ici: https://developers.google.com/maps/documentation/javascript/tutorial#api_key

Il y a sûrement un moyen de faire fonctionner ça! Qu'Est-ce que c'est?

11
emersonthis

MISE À JOUR:

Depuis le 22 juin 2016, Google Maps V3 ne prend plus en charge l'accès sans clé (toute demande qui ne comprend pas de clé API).

Vous pouvez vous inscrire pour la clé: https://developers.google.com/maps/documentation/javascript/get-api-key

et ajoutez-le à votre URL:

<script src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY" type="text/javascript"></script>

J'ai rencontré un problème similaire avec ma demande. J'utilise l'URL sans la clé client à des fins de test et j'ajoute la clé avant de mettre le code sur le serveur de production. Il s'agit d'une solution de contournement plus qu'une solution et je suppose que votre utilisation pour les tests locaux sera faible.

Serveur de test

<script type="text/javascript" 
   src="https://maps.googleapis.com/maps/api/js?sensor=SET_TO_TRUE_OR_FALSE">
</script>

Serveur de production

<script type="text/javascript"
  src="https://maps.googleapis.com/maps/api/js?key=API_KEY&sensor=SET_TO_TRUE_OR_FALSE">
</script>

URL: https://developers.google.com/maps/documentation/javascript/examples/

Si vous consultez le site suivant et allez à l'exemple de carte de base, vous constaterez que les exemples n'utilisent pas de clé. Ce fut l'une des différences entre v2 et v3 des cartes que la clé n'est pas obligatoire.

<script src="https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false"></script>

Gardez à l'esprit que l'omission de la clé relève de la licence gratuite de Google Maps API. Si vous devez suivre l'utilisation, vous devez fournir au moins la clé. Si vous avez besoin de plus de trafic, vous devez fournir votre identifiant client (Google Maps for Work).

https://developers.google.com/maps/licensing

26
Joyson

Comme suggéré dans la documentation officielle :

Conseil: pendant le développement et les tests, vous pouvez enregistrer un projet à des fins de test dans la console API Google et utiliser une clé API générique sans restriction. Lorsque vous êtes prêt à déplacer votre application ou votre site Web en production, enregistrez un projet distinct pour la production, créez une clé d'API limitée au navigateur et ajoutez la clé à votre application.

Vous devez enregistrer un autre projet et utiliser son API sans restriction pour les tests de développement.

2
shivangg