Les clés API de navigateur les clés API de navigateur ne peuvent pas avoir de restrictions de référencement lorsqu'elles sont utilisées avec cette API

j'essaie de programmer le géocodage. J'ai créé la clé API, mais quand je l'ajoute dans le code de mon site web Je n'obtiens rien, cependant quand je n'utilise pas L'API Tout fonctionne bien. Quand j'envoie:

https://maps.googleapis.com/maps/api/geocode/json?address=".$adres."&key=KLUCZ_XXX

je reçois une réponse:

Browser API keys cannot have referer restrictions when used with this API.

Si j'utilise:

https://maps.googleapis.com/maps/api/geocode/json?address=".$adres" 

Le résultat est correct, mais le nombre de requêtes est limité par jour.

contrainte principale: références HTTP (Web) - défini au domaine à partir duquel la recherche de conjure. Interface Google Maps L'API de géocodage est activée.

la clé API doit-elle aussi être activée ailleurs pour fonctionner?

19
demandé sur Stephen Rauch 2017-02-10 22:57:52

1 réponses

on dirait que vous faites le côté serveur D'appels API. J'ai rencontré ce problème plus tôt aujourd'hui. Puisque vous avez placé une restriction de referrer sur votre clé API, elle sera limitée à l'exécution sur le navigateur avec les API de service web, y compris L'API de géocodage. Cela n'a pas fonctionné pour moi, même lors du réglage manuel du referrer dans les en-têtes de la requête. Vous pouvez trouver les autres API de service web sur cette page:https://developers.google.com/maps/web-services/

Important: si vous utilisez l'un des API de service web avec une clé API qui a des restrictions de référencement, vos requêtes échoueront avec le message d'erreur: "les clés API ne peuvent pas avoir de restrictions de référencement lorsqu'elles sont utilisées avec cette API."Vous devez passer à l'utilisation d'une restriction de serveur.

vous voulez créer une clé séparée pour utiliser le côté serveur. Vous pouvez changer votre restriction d'un restriction du navigateur restriction du serveur en utilisant des adresses IP restreindre l'accès, au lieu de se référer aux navigateurs.

voir cette section dans les Maps APIs FAQ sur la commutation type de clé vers une clé restreinte du serveur:https://developers.google.com/maps/faq#switch-key-type

alternativement, vous pouvez continuer à utiliser une clé de navigateur et le côté client géocode (JavaScript), puis retourner le résultat au backend via ajax.

33
répondu Raymond 2017-02-25 02:25:01