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


101

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

J'ai une clé d'accès au serveur de google et j'ai mis l'adresse IP de mon serveur dans leur 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)

Y a-t-il quelque chose que je dois configurer? L'API de géocodage est également activée.


vous devez obtenir une clé autorisée de google et la mettre dans l'api
Dimag Kharab

Une clé API est déjà disponible
sanket

Vérifiez la réponse de Mike, cela a fonctionné pour moi
Sheraz Ahmad Khilji

Acceptez la réponse de mike20132013! Ça marche!
aveschini

Il existe un document officiel pour ce numéro: chromium.org/Home/chromium-security/…
Gopal00005 il y a

Réponses:


150

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

Sur l'url, il nécessite la clé du serveur à la fin et non la clé api de l'application.

Donc, en gros, 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, procédez comme suit:

1) Accédez à la Developer Console https://code.google.com/apis/console/

2) Dans les informations d'identification, sous Accès API public, Créer une nouvelle clé

3) Sélectionnez la clé du serveur dans l'option.

4) Entrez votre adresse IP sur le terrain et si vous avez plus d'adresses IP, vous pouvez simplement ajouter sur chaque ligne. REMARQUE: entrez l'adresse IP uniquement lorsque vous souhaitez l'utiliser à des fins de test. Sinon, laissez la section Adresse IP vide.

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

La dernière chose est qu'au lieu de mettre le sensor = 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é du serveur pour Places API.

ÉDITER

Je pense que l'URL Web a changé ces dernières années. Vous pouvez accéder à la console des développeurs à partir d'ici maintenant - https://console.developers.google.com/apis/dashboard

  • Accédez à la console des développeurs - https://console.developers.google.com/ ou utilisez le lien des détails pour accéder directement au tableau de bord de l'API.
  • Sous la console développeur, recherchez le libellé dans le panneau de navigation de gauche
  • Sélectionnez un projet
  • Choisissez les informations d' identification dans le panneau de navigation de gauche
  • Vous pouvez créer un type d'informations d'identification à partir de la barre de navigation supérieure selon vos besoins.

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


8
Très important 4) Entrez votre adresse IP sur le terrain et si vous avez plus d'adresses IP, vous pouvez simplement ajouter sur chaque ligne.REMARQUE: Entrez l'adresse IP uniquement lorsque vous souhaitez l'utiliser à des fins de test. Sinon, laissez la section Adresse IP vide.
Sheraz Ahmad Khilji

6
C'est correct .. spécifiez uniquement l'adresse IP / les adresses à des fins de test. Sinon, laissez ce champ vide. Parce que vous limitez l'application ou la clé API pour qu'elle fonctionne uniquement sur les appareils / applications spécifiques.
mike20132013

1
@johnshumon Oui je suppose ... je n'ai pas mis à jour la réponse depuis des lustres. Peut-être de nouveaux changements d'API.
mike20132013

1
Vous voudrez peut-être également vous assurer que le service Web de l'API Google Places est également une API activée
Justin Wilson

1
J'ai lutté avec cela pendant des heures avant de découvrir que le nouveau "projet" doit maintenant être lié à un compte de facturation cloud Google pour que l'API Google cesse de donner ces diverses erreurs génériques. Le seuil peut être défini sur 0 USD. Vous ne serez donc jamais facturé si l'utilisation dépasse le quota autorisé.
Sparky

15
  1. Choisissez la clé
  2. Onglet Restriction API
  3. Choisissez la clé API
  4. sauver
  5. Choisissez Restriction d'application -> Aucune
  6. sauver

entrez la description de l'image ici

entrez la description de l'image ici

entrez la description de l'image ici

entrez la description de l'image ici


J'ai eu peu de services répertoriés dans les restrictions d'API mais pas de géocodage
Muhammad Umer

a fonctionné comme un charme. Merci essayait de géocodage. J'ai défini les restrictions de l'application sur aucune comme vous l'avez souligné et cela a fonctionné.
Ravi

4
Restrictions: aucune n'est assez dangereuse.
Deniss M.

9
La désactivation de la sécurité n'est pas une solution!
Bartholomej

NE LAISSEZ PAS LA CLÉ API SANS RESTRICTIONS! Le nouveau "projet" doit désormais être associé à un compte de facturation pour que l'API Google cesse de donner ces différentes erreurs génériques. Le seuil peut être défini sur 0 USD. Vous ne serez donc jamais facturé si l'utilisation dépasse le quota autorisé.
Sparky

14

En plus de la clé API qui vous est attribuée, Google vérifie également la source de la demande entrante en examinant soit l' REFERRERadresse IP, soit l'adresse IP. Pour exécuter un exemple dans curl, créez un nouveau Server Keydans la console des API Google . Lors de sa 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éé Server Keyet ajouté votre adresse IP à la liste blanche, vous devriez pouvoir utiliser la nouvelle clé API dans curl.

Je suppose que vous avez probablement créé votre clé API en tant que Browser Keyqui ne vous oblige pas à ajouter votre adresse IP à la liste blanche, mais utilise plutôt la REFERRERbalise d'en-tête HTTP pour la validation. curl n'envoie pas cette balise par défaut. Google n'a donc pas validé votre demande.


1+ Aura besoin de créer une clé API de serveur pour utiliser le service Geocode de Google. Vous devez également activer le service de géocodage de la carte Google à partir de la console API de Google. Merci !!
Sumit Munot

J'ai lutté avec cela pendant des heures avant de découvrir que le nouveau "projet" doit maintenant être lié à un compte de facturation cloud Google pour que l'API Google cesse de donner ces diverses erreurs génériques. Le seuil peut être défini sur 0 USD. Vous ne serez donc jamais facturé si l'utilisation dépasse le quota autorisé.
Sparky

6

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


1
Intéressant ... alors comment générer une clé à utiliser dans les applications Android ou iOS?
Graham Perks

Vos touches de navigateur fonctionneront sous Android et iOS. Obtenir les clés du navigateur dans la console des API Google
Nazrul Islam

Ils ne le font pas sans un effort supplémentaire. Je viens de comprendre cela après une journée frustrante hier; il y a une étape supplémentaire pour les applications: stackoverflow.com/a/58136437/434004
Graham Perks

3

Vous essayez d'utiliser une clé API que vous avez restreinte d'une manière qui n'autorise pas cette action.

Selon Google:

Note: If you need to call web, web service, and/or mobile APIs from the same (client-side) app, create and restrict multiple keys.

Donc, la bonne chose à faire est de créer une autre clé API et de choisir les restrictions appropriées à ce sujet. Dans votre cas, choisissez "Adresses IP" (sous "Restrictions d'application"), et utilisez "AJOUTER UN ARTICLE" pour ajouter votre adresse IP de serveur. Notez que laisser une liste vide ne fonctionnera pas et entraînera le changement de vos restrictions par Google sur "Aucune".

N'oubliez pas non plus d'ajouter les API pertinentes sous "Restrictions API" (dans votre cas "API de géocodage").

Une dernière chose: Google bloque l'utilisation de cette API jusqu'à ce que vous associez votre application au compte de facturation Google Cloud. Donc, si vous ne l'avez pas encore fait, une fois que vous avez obtenu une réponse, il vous sera dit que vous devez d'abord le faire (il a un package de départ gratuit).


2

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


pourriez-vous s'il vous plaît élaborer
Sagar Devanga

2
Lors de la création de la clé, vous avez comme endroit pour ajouter l'adresse de référence, veuillez vérifier que vous avez ajouté quelque chose ici si Ajouté Effacez-le
DeadlyDroid

2

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

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


1
Bien que cela puisse répondre à la question, c'est toujours une bonne idée de mettre du texte dans votre réponse pour expliquer ce que vous faites. Lisez comment rédiger une bonne réponse . Vous devez également inclure du code.
Jørgen R

Pourriez-vous s'il vous plaît fournir un extrait
Sagar Devanga

Voici ce que j'ai fait, et cela a parfaitement fonctionné: var options = {url: url, headers: {Referer: ' xxx.herokuapp.com '}}; request.get (options, function (...
Florida G.

1

L'API correspondante doit également être activée pour le projet donné

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


1

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

En appelant 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 Google Maps Platform. Pour plus d'informations, veuillez consulter http://g.co/dev/maps-no-account

Une fois que j'ai changé la commande, 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 était le message que j'ai reçu en accédant directement à l'URL dans le 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 peut envoyer des requêtes automatisées. Pour protéger nos utilisateurs, nous ne pouvons pas traiter votre demande pour le moment.


J'ai lutté avec cela pendant des heures avant de découvrir que le nouveau "projet" doit maintenant être lié à un compte de facturation cloud Google pour que l'API Google cesse de donner ces diverses erreurs génériques. Le seuil peut être défini sur 0 USD. Vous ne serez donc jamais facturé si l'utilisation dépasse le quota autorisé.
Sparky


0

Authentification, quotas, prix et stratégies Authentification Pour utiliser l'API Directions, vous devez d'abord activer l'API et obtenir les informations d'authentification appropriées. Pour plus d'informations, consultez Premiers pas avec Google Maps Platform.

Quotas et tarification Consultez la page d'utilisation et de facturation pour plus de détails sur les quotas et les tarifs définis pour l'API Directions.

Politiques L'utilisation de l'API Directions doit être conforme aux politiques de l'API.

en savoir plus: visitez: --- https://developers.google.com/maps/documentation/directions/start?hl=en_US


-2
  url = https://maps.googleapis.com/maps/api/directions/json?origin=19.0176147,72.8561644&destination=28.65381,77.22897&mode=driving&key=AIzaSyATaUNPUjc5rs0lVp2Z_spnJle-AvhKLHY

ajouter uniquement dans AppDelegate comme

            GMSServices.provideAPIKey("AIzaSyATaUNPUjc5rs0lVp2Z_spnJle-AvhKLHY")

et supprimez la clé de cette URL.

maintenant l'URL est

https://maps.googleapis.com/maps/api/directions/json?origin=19.0176147,72.8561644&destination=28.65381,77.22897&mode=driving

-3

Désactivez l'API de direction et l'API de géocodage et réactivez-les.

il ne fonctionne que pendant 5 à 10 secondes et se désactive automatiquement.

cela signifie que vous n'avez que 5 à 10 secondes pour tester votre affectation.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.