Nous essayons de développer une application de géoplacement pour l'un de nos clients et nous voulons d'abord la tester dans son propre domaine.
Nous avons signé pour l'API JavaScript de Google Maps et nous disposons d'une clé de navigateur valide. Notre domaine, www.grupocamaleon.com, a été autorisé à utiliser cette clé.
Mais nous ne pouvons même pas créer l’exemple le plus simple pour exécuter sans erreur.
Nous avons, dans notre domaine et avec notre clé, la démo suivante:
(1) http://www.grupocamaleon.com/boceto/aerial-simple.html
Mais cela ne fonctionne pas, et la console Firebug dit:
"Erreur API Google Maps: Erreur API Google Maps: RefererNotAllowedMapError (lien vers la documentation Google sur RefererNotAllowedMapError) L'URL de votre site à autoriser: (1)"
Ma page d'informations d'identification manque la possibilité d'ajouter des référents à accepter. Par conséquent, les solutions impliquant l'ajout de référents ne sont pas possibles pour le moment.
Ma page d'identification:
Pourquoi avons-nous cette erreur? Comment pouvons-nous résoudre ce problème? TIA
Je sais que c’est une vieille question qui a déjà plusieurs réponses, mais j’avais le même problème. Pour moi, le problème est que j’ai suivi l’exemple fourni sur console.developers.google.com et que j’ai entré mes domaines au format *.domain.tld/*
. Cela ne fonctionnait pas du tout, et j’ai essayé d’ajouter toutes sortes de variations comme domain.tld
, domain.tld/*
, *.domain.tld
etc.
Ce qui l’a résolu pour moi a été d’ajouter aussi le protocole actuel; http://domain.tld/*
est le seul dont j'ai besoin pour que cela fonctionne sur mon site. Je suppose que je devrai ajouter https://domain.tld/*
si je devais passer à HTTPS.
Mise à jour: Google a enfin mis à jour le paramètre fictif pour inclure http
maintenant:
Selon la documentation, 'RefererNotAllowedMapError' signifie
L’URL en cours de chargement de l’API JavaScript de Google Maps n’a pas été ajouté à la liste des référents autorisés. S'il vous plaît vérifier le référent les paramètres de votre clé API sur la console Google Developers.
L'API Google Maps Embed est configurée pour mon usage personnel/professionnel et, jusqu'à présent, je n'ai spécifié aucun référent HTTP. Je n'enregistre aucune erreur. Selon vos paramètres, Google doit penser que l'URL que vous visitez n'est ni enregistrée ni autorisée.
Allez, Google, vous êtes plus malins que ne le laisse la page API Credential. (Je sais parce que j'ai deux fils qui travaillent là-bas.)
La liste des "référants" est beaucoup plus sélective qu'elle ne le laisse paraître. (Bien sûr, devrait être plus indulgent.) Voici quelques règles qui m'ont pris heures à découvrir:
*
en tant que caractère générique semble fonctionner comme s'il s'agissait d'une comparaison de chaîne.Il y a probablement d'autres règles, mais c'est un jeu de devinette fastidieux.
J'ai essayé de nombreuses variantes de référent et attendu 5 minutes jusqu'à ce que je réalise que l'exemple fourni par Google dans le champ de formulaire est défectueux. Ils montrent:
*.example.com/*
Cependant, cela ne fonctionne que si vous avez subdomain.
ou www.
devant votre nom de domaine. Ce qui suit a immédiatement fonctionné pour moi (en omettant la période principale de l'exemple de Google):
*example.com/*
Rappelez-vous simplement que si vous le modifiez, cela peut prendre jusqu'à 5 minutes pour que les paramètres prennent effet.
Selon le Google Docs cela est dû au fait que la url
sur laquelle vous utilisez l'API Google Maps a été not registered
dans list of allowed referrers
MODIFIER :
De Google Docs
Tous les sous-domaines d'un domaine spécifié sont également autorisés.
Si http://example.com est autorisé, alors http://www.example.com est également autorisé. L'inverse n'est pas vrai: si http://www.example.com est autorisé, http://example.com n'est pas nécessairement autorisé
Donc, veuillez configurer le domaine http://testdomain.com
, votre http://www.testdomain.com
commencera à fonctionner.
Vérifiez que vous avez également activé le bon APIS.
J'ai essayé tout ce qui précède, astérisques, noms de domaine, barres obliques, barres obliques inversées, etc., même en fin de compte, en entrant seulement une URL comme dernier espoir.
Tout cela n'a pas fonctionné et j'ai enfin compris que Google vous demandait également de spécifier quelle API vous souhaitez utiliser (voir capture d'écran).
Je n'avais pas ceux dont j'avais besoin (pour moi, c'était l'API JavaScript de Maps)
Une fois que je l’ai activé, tout a bien fonctionné avec:
J'espère que cela aide quelqu'un! :)
J'ai trouvé que même vos HTTP Referreres
sont suffisamment valides, un ensemble incorrect de API Restrictions
cause Google Maps JavaScript API error: RefererNotAllowedMapError
.
Par exemple:
http://localhost/*
à Application Restrictions / HTTP Referrences
Maps Embed API
au lieu de Maps Javascript API
RefererNotAllowedMapError
Il existe de nombreuses solutions supposées sur plusieurs années, et certaines ne fonctionnent plus et d’autres ne l’ont jamais fonctionné. C’est pourquoi ma mise à jour prend fin juillet 2018.
Installer:
L'API JavaScript de Google Maps doit fonctionner correctement avec…
example.com
et example.net
user22656.example.com
, etc.http://www.example.com/
et https://example.net/
Solution:
<https (or) http>://*.example.com/*
.*.
précédant le nom d'hôte).RefererNotAllowedMapError
apparaissait toujours avec la configuration appropriée (et après avoir attendu suffisamment longtemps). J'ai supprimé la clé d'identification, répété la demande (maintenant InvalidKeyMapError
), créé de nouvelles informations d'identification (en utilisant exactement la même configuration) et cela a fonctionné depuis._ {(Comme texte :)
Accept requests from these HTTP referrers (web sites)
https://*.example.com/*
https://example.com/*
http://*.example.com/*
http://example.com/*
vous montrez une capture d’écran de votre page d’identifications d’API, mais vous devez cliquer sur «Clé du navigateur 1» et, à partir de là, ajouter des référents.
J'ajoute 2 domaines de site Web. Le groupe "*" du sous-domaine ne fonctionne pas, mais des sous-domaines spécifiques "WWW" et des sous-domaines ont été définis pour mes sites Web à l'aide de la même clé API Google Map.
N'utilisez pas "*" dans le sous-domaine
J'espère que ça vous aidera.
J'ai eu la même erreur:
Ce lien explique comment configurer les restrictions de clés d’API: https://cloud.google.com/docs/authentication/api-keys#adding_http_restrictions
Dans mon cas, le problème était que j'utilisais cette restriction:
Référents HTTP (sites Web) Acceptez les demandes de ces référents HTTP (sites Web) (Facultatif) Utilisez * pour les caractères génériques. Si vous laissez ce champ vide, les demandes seront acceptées par n'importe quel parrain. Assurez-vous d'ajouter des référents avant d'utiliser cette clé en production .
https://*.example.net/*
Cela signifie que des URL telles que https://www.example.net ou https://m.example.net ou https://www.example.net/San-salvador/ travaillerait. Toutefois, des URL telles que https://example.net ou https://example.net ou https://example.net/San-salvador/ ne fonctionneraient pas. J'avais simplement besoin d'ajouter un deuxième référent:
https://example.net/*
Cela a résolu le problème pour moi.
Pour les pages imbriquées plus profondes
Si vous avez un projet dans un dossier par exemple ou des pages imbriquées
http://yourdomain.com/your-folder/your-page
vous pouvez entrer ceci dans
http://yourdomain.com/*/*
La partie importante étant /*/*/*
en fonction de la distance à parcourir
Il semble que le *
ne corresponde pas à /
ni n'aille dans des chemins plus profonds.
Cela vous donnera un accès complet à votre domaine, sauf si vous avez une imbrication plus profonde que cela.
Ceci est un autre produit Google Sh1tty avec une implémentation terrible.
Le problème que j'ai trouvé avec ceci est que si vous limitez une clé API par adresse IP, cela ne fonctionnera pas ... MAIS, bien que ce soit de Google de préciser ce point ... Ce n'est qu'après le dépannage et la recherche que j'ai trouvé:
Les clés API avec une restriction d'adresses IP ne peuvent être utilisées qu'avec des services Web destinés à être utilisés côté serveur (tels que l'API de géocodage et d'autres API de services Web). La plupart de ces services Web ont des services équivalents dans l'API JavaScript de Maps (voir, par exemple, le service de géocodage). Pour utiliser les services côté client de l'API JavaScript de Maps, vous devez créer une clé API distincte pouvant être sécurisée avec une restriction de référents HTTP (voir la section Restriction d'une clé API).
https://developers.google.com/maps/documentation/javascript/error-messages
FFS Google ... C'est une information assez importante qu'il serait bon de clarifier sur la configuration ...
Les miens ont finalement fonctionné en utilisant ce conseil de Google: ( https://support.google.com/webmasters/answer/35179 )
Voici nos définitions de domaine et de site. Ces définitions sont spécifiques à la vérification de la console de recherche:
http://example.com/ - A site (because it includes the http:// prefix)
example.com/ - A domain (because it doesn't include a protocol prefix)
puppies.example.com/ - A subdomain of example.com
http://example.com/petstore/ - A subdirectory of http://example.com site
Supprimer les restrictions (à Aucune) a fonctionné pour moi.
Que votre facturation est activée
Que votre site Web a été ajouté à Google Console
Que votre site Web soit ajouté aux référents de votre application.
(faire un wildcard pour www et aucun www)
http://www.example.com/ * et http://example.com/ *
Javascript Maps est activé et que vous utilisez les informations d'identification correctes
Que le site Web a été ajouté à votre DNS pour activer votre console Google ci-dessus.
Souriez après que cela fonctionne!
Aucune de ces corrections ne fonctionnait pour moi jusqu'à ce que je découvre que RefererNotAllowedMapError
peut être causé par l'absence d'un compte de facturation lié au projet. Assurez-vous donc d'activer votre essai gratuit ou autre.
J'ai eu du mal à faire en sorte que cela fonctionne aussi, mais voici quelques indications:
http
, par exemple. http://example.com/*
Une fois que tout ceci a été résolu, les cartes s’affichent comme prévu.
http://www.example.com/ * a fonctionné pour moi après des jours et des jours de tentatives.
Les caractères génériques (astérisques) NE SONT PAS autorisés sur les sous-domaines.
Oubliez ce que Google dit dans l'espace réservé, cela n'est pas autorisé.
J'essayais d'utiliser API Places (Autocomplete) et devais également activer le API Javascript Maps depuis la console Google Cloud avant que l'API Places ne fonctionne.
La console Javascript de Chrome a suggéré de déclarer l'adresse complète de la page dans ma liste de référents HTTP, dans cet exemple http://mywebsite.com/map.htm Même si l'adresse exacte est http: //www.mywebsite. com/map.htm - J'avais déjà les styles génériques listés comme suggéré par d'autres, mais c'était la seule façon dont cela fonctionnerait pour moi.
Vérifiez votre déclaration sur site. Pour charger l'API JavaScript de Google Maps, utilisez une balise de script comme celle-ci.
<script src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&callback=initMap"
async defer></script>
J'utilise cette déclaration sur mon site Wordpress dans le fichier function.php
wp_enqueue_script("google-maps-v3", "//maps.google.com/maps/api/js?key=YOUR_API_KEY", false, array(), false, true);
J'ai défini la clé API sur ce format, et cela fonctionne bien
http://my-domain-name(without www).com/*
cette déclaration ne fonctionne pas
*.my-domain-name.com/*