web-dev-qa-db-fra.com

Cette adresse IP, site ou application mobile n'est pas autorisée à utiliser cette clé API

J'utilise https://maps.googleapis.com/maps/api/geocode/json ? lien avec la clé du serveur et l'utilisateur ip pour trouver la latitude et la longitude de n'importe quelle adresse, quand j'essaie je trouve l'erreur

J'ai une clé d'accès au serveur de Google et j'ai mis l'adresse IP de mon serveur dans la liste blanche.

L'URL à laquelle j'essaie d'accéder via PHP CURL est:

https://maps.googleapis.com/maps/api/geocode/json?address=1600+Amphitheatre+Parkway,+Mountain+View,+CA&sensor=true&key=XXXXXXXXXXXX

Le résultat que j'obtiens:

Array ([error_message] => This IP, site or mobile application is not authorized to use this API key. [results] => Array ( ) [status] => REQUEST_DENIED)

Dois-je configurer quelque chose ... L'API de géocodage est également activée.

74
user3336944

J'ai eu le même problème et j'ai trouvé ça.

Sur l'URL, il faut la clé du serveur à la fin et non la clé api de l'application.

Donc, fondamentalement, vous ajoutez simplement la clé du serveur à la fin de l'URL comme ceci:

https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=yourlatitude,yourlongitude&radius=5000&sensor=true&key=SERVERKEY

Maintenant, pour obtenir la clé du serveur, il suffit de suivre ces étapes:

1) Accéder à la console développeur https://code.google.com/apis/console/

2) Dans les informations d'identification, sous Accès à l'API publique, Créer une clé

3) Sélectionnez la clé du serveur parmi les options.

4) Entrez votre adresse IP sur le champ et si vous avez plus d'adresses IP, vous pouvez simplement les ajouter à chaque ligne .NOTE: Entrez l'adresse IP uniquement lorsque vous souhaitez l'utiliser pour vos tests. objectif. Sinon, laissez la section Adresse IP en blanc. 

5) Une fois que vous avez terminé, cliquez sur Créer et votre nouvelle clé de serveur sera générée. Vous pourrez ensuite ajouter cette clé de serveur à votre URL.

La dernière chose est que, au lieu de mettre le capteur = true au milieu de l'URL, vous pouvez l'ajouter à la fin comme ceci:

https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=yourlatitude,yourlongitude&radius=5000&key=SERVERKEY&sensor=true

Cela résoudra définitivement le problème et n'oubliez pas d'utiliser la clé de serveur pour Places API.

J'espère que cette réponse vous aidera et aidera les autres téléspectateurs. Bonne chance .. :)

134
mike20132013

En plus de la clé API qui vous est affectée, Google vérifie également la source de la demande entrante en regardant soit la REFERRER, soit l'adresse IP. Pour exécuter un exemple dans Curl, créez un nouveau Server Key dans console des API Google . Lors de la création, vous devez fournir l'adresse IP du serveur. Dans ce cas, ce sera votre adresse IP locale . Une fois que vous avez créé un Server Key et ajouté votre adresse IP à la liste blanche, vous devriez pouvoir utiliser la nouvelle clé d'API en mode curl.

Je suppose que vous avez probablement créé votre clé API sous la forme Browser Key, ce qui ne vous oblige pas à ajouter une liste blanche à votre adresse IP, mais utilise plutôt la balise d'en-tête HTTP REFERRER pour la validation. curl n'envoie pas cette balise par défaut. Google n'a donc pas pu valider votre demande.

13
Michael Venable
  1. Choisissez la clé
  2. Onglet Restriction de l'API
  3. Choisir la clé de l'API
  4. Sauvegarder
  5. Choisissez Restriction d'application -> Aucune
  6. Sauvegarder

 enter image description here

 enter image description here

 enter image description here

 enter image description here

13
Tuan Nguyen

L'API Google Adresses ne prend actuellement pas en charge les clés Android ou iOS générées depuis la console Google API Seules les clés de serveur et de navigateur sont actuellement prises en charge.

5
Nazrul Islam

L'API Google Place nécessite que l'en-tête HTTP du référent soit inclus lors de l'appel API.

Incluez l'en-tête HTTP "Referer: yourdomain.com" et cela devrait résoudre les problèmes de réponse.

2
Ramesh

Vous créez une clé sans référent Ne saisissez pas l'adresse du référant

2
DeadlyDroid

De plus, l'API correspondante doit être activée pour le projet donné

https://console.developers.google.com/apis/library?project=projectnamehere

1
dav

Pour la dernière version de l'API, l'inverse semble être vrai pour moi.

Lors de l'appel de l'URL https://maps.googleapis.com/maps/api/geocode/json?address=<address>&key=<key> j'obtenais l'erreur suivante

Vous devez utiliser une clé API pour authentifier chaque demande auprès des API de la plate-forme Google Maps. Pour plus d'informations, veuillez consulter http://g.co/dev/maps-no-account

Une fois que j'ai changé l'ordre pour https://maps.googleapis.com/maps/api/geocode/json?key=<key>&address=<address> cela a bien fonctionné.

Notez que le message d'erreur reçu ci-dessus est le message que j'ai reçu lorsque je me rendais directement à l'URL du navigateur. Lorsque j'ai appelé l'API à partir d'un logiciel, j'ai reçu une réponse HTML avec essentiellement le message suivant:

Nous sommes désolés ... mais votre ordinateur ou votre réseau envoie peut-être des requêtes automatisées. Pour protéger nos utilisateurs, nous ne pouvons pas traiter votre demande pour le moment.

0
kilkfoe