2017-02-10 1 views
5

Ich versuche die Geocodierung zu programmieren. Ich habe einen API-Schlüssel erstellt, aber wenn ich ihn in meinen Website-Code einfüge, bekomme ich nichts, aber wenn ich API nicht verwende, funktioniert alles gut. Wenn ich schicke:API-Schlüssel Browser-API-Schlüssel können keine Verweisbeschränkungen haben, wenn sie mit dieser API verwendet werden

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

bekomme ich eine Antwort:

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

Wenn ich benutze:

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

Das Ergebnis korrekt ist, aber die Anzahl der Abfragen pro Tag begrenzt.

Key Einschränkung: Verweise HTTP (Web) - auf die Domäne, von der Anfrage zaubern. Benutzeroberfläche Google Maps Geokodierungs-API ist aktiviert.

Muss der API-Schlüssel auch an anderer Stelle aktiviert werden?

Antwort

12

Es klingt, als ob Sie die API-Call-Server-Seite machen. Ich bin heute früh auf dieses Problem gestoßen. Da Sie Ihrem API-Schlüssel eine Verweigerungseinschränkung auferlegt haben, ist diese auf die Ausführung im Browser mit den Web-Service-APIs einschließlich der Geocodierungs-API beschränkt. Es funktionierte nicht für mich, selbst wenn Sie den Referrer in den Anforderungsheadern manuell einstellten. Sie können die anderen Web-Service-APIs auf dieser Seite finden: https://developers.google.com/maps/web-services/

Wichtig: Wenn Sie eine der Web-Service-APIs mit einem API-Schlüssel verwenden, die Referer restictions hat, Ihre Anfragen mit der Fehlermeldung fehl: " API-Schlüssel können keine Verweisbeschränkungen haben, wenn sie mit dieser API verwendet werden. " Sie sollten zur Verwendung einer Servereinschränkung wechseln.

Sie möchten einen separaten Schlüssel erstellen, um serverseitig zu verwenden. Sie können Ihre Einschränkung von einer Browserbeschränkung zu einer Servereinschränkung ändern, indem Sie IP-Adressen verwenden, um den Zugriff anstelle von Browser-Referrern einzuschränken.

Siehe diesen Abschnitt in dem Maps-APIs FAQ auf Schlüsseltyp auf einen Server Schalt beschränkt Schlüssel: https://developers.google.com/maps/faq#switch-key-type

Alternativ können Sie einen Browser Schlüssel weiterhin verwenden und geocodiert Client-Seite (JavaScript), dann wieder um das Ergebnis zu das Backend über Ajax.

Verwandte Themen