Googlemaps-API-Schlüssel für Localhost

94

Wie bekomme ich googlemaps api key, um an localhost zu arbeiten?

Ich habe einen API-Schlüssel erstellt und unter Verweisen Folgendes hinzugefügt:

Accept requests from these HTTP referrers (websites) (Optional)

Use asterisks for wildcards. If you leave this blank, requests will be 
accepted from any referrer. Be sure to add referrers before using this key 
in production. 

localhost

Dies funktioniert nicht und wenn ich den API-Schlüssel ausschließe, funktioniert es auch nicht?

adam78
quelle
Mögliches Duplikat von So legen Sie die Einschränkung
viktorianer

Antworten:

136
  1. Gehen Sie zu dieser Adresse: https://console.developers.google.com/apis
  2. Erstellen Sie einen API-Schlüssel für Ihr Projekt
  3. Klicken Sie auf "Bibliothek"
  4. Klicken Sie auf eine beliebige API
  5. Klicken Sie auf "Aktivieren" (oben rechts)
  6. Klicken Sie auf "Anmeldeinformationen"> "Schlüssel bearbeiten".
  7. Wählen Sie unter "Schlüsselbeschränkung" die Option "HTTP-Verweise (Websites)" aus.
  8. Geben Sie Ihre Website-Adresse (oder "localhost", "127.0.0.1", "localhost: port" usw. für lokale Tests) in das Textfeld ein und drücken Sie ENTER, um sie der Liste hinzuzufügen
  9. Verwenden Sie Ihren Schlüssel in Ihrem Projekt
Sajad Mirzaei
quelle
9
Dies habe ich auch getan, aber ich frage mich: Bedeutet dies, dass JEDER, der lokal arbeitet (localhost / 127.0.0.1), möglicherweise meinen API-SCHLÜSSEL verwendet (und möglicherweise auf Kosten für mich schließen kann, nachdem die neue Preisgestaltung am 11.06.2018 stattgefunden hat? ?)
tmanolatos
34
@tmanolatos Ja, das ist es, was es bedeutet. Es wird nicht empfohlen, Ihrem Produktionsschlüssel die lokalen Hostrechte zu erteilen, da jeder Ihren Schlüssel verwenden kann, während er lokal ausgeführt wird. Stattdessen sollten Sie zwei Schlüssel pflegen. Eine für die Produktion, die von jedem gesehen werden kann und daher nur auf Ihrer Domain erlaubt sein sollte. Eine für die Entwicklung, die als Anmeldeinformationen behandelt werden sollte (nicht freigeben) und den Zugriff von localhost ermöglicht.
the_cheff
2
@tmanolatos Ja, aber Sie müssen zwei Schlüssel erstellen, einen zum Testen der App und einen für die Haupt-App.
Sajad Mirzaei
Ich erhalte diese Antwort, nachdem ich die obigen Schritte ausgeführt habe: {"error_message": "API-Schlüssel mit Verweisbeschränkungen können mit dieser API nicht verwendet werden.", "Results": [], "status": "REQUEST_DENIED"} Hier ist die URL , wobei DEV_KEY durch meinen API-Schlüssel ersetzt wird: maps.googleapis.com/maps/api/geocode/…
rmutalik
Es gibt den korrekten JSON zurück, wenn ich meinen PROD_KEY-API-Schlüssel verwende.
rmutalik
11

Sie können diesem Weg folgen. Es funktioniert zumindest bei mir:

auf der Seite mit den Anmeldeinformationen:

  1. Option mit IP-Adresse auswählen (Option Nr. 3).

  2. Geben Sie Ihre IP-Adresse von Ihrem Provider ein. Wenn Sie dies nicht tun, suchen Sie Ihre IP-Adresse über diesen Link: https://www.google.com/search?q=my+ip

  3. Speichern Sie es.

  4. Ändern Sie Ihren Google Map-Link wie folgt zwischen dem Scrip-Tag:

    https://maps.googleapis.com/maps/api/js?libraries=places&key=AIzxxxxxxxx "

  5. Warten Sie mindestens 5 Minuten, damit sich Ihr API-Schlüssel weitergeben kann.

Jetzt sollte Ihre Google Map funktionieren.

Sulung Nugroho
quelle
9

Wenn Sie an localhost arbeiten, erstellen Sie einen separaten API-Schlüssel für Ihre Entwicklung und entfernen Sie dann die Einschränkungen für diesen Schlüssel, damit Ihr localhost ihn verwenden kann. Denken Sie daran, diesen Schlüssel nicht für die Produktion zu verwenden, damit Sie Ihren Schlüssel nicht online Jägern aussetzen.

Ich hatte das gleiche Problem und alle Versuche, die Einschränkungen in meiner localhost-Umgebung zum Laufen zu bringen, waren nicht erfolgreich, bis ich ein separates Apikey speziell für die Entwicklung erstellt und dann die Einschränkungen entfernt habe. Ich verwende diesen Schlüssel jedoch nicht in der Produktionsumgebung. Sobald ich mit den Entwicklungen fertig bin, werde ich den API-Schlüssel sofort löschen.

Ich weiß, dass dieser Beitrag zu spät ist, aber für Leute, die wahrscheinlich in Zukunft mit diesem Problem konfrontiert werden, ist dies der beste Weg.

user1556937
quelle
5

Ich schätze, ich bin etwas spät dran für die Party, und obwohl ich damit einverstanden bin, dass das Erstellen eines separaten Schlüssels für Entwicklung (localhost) und Produkt möglich ist, ist es möglich, beides in nur einem Schlüssel zu tun.

Wenn Sie Anwendungsbeschränkungen -> http-Verweise -> Website-Einschränkungen verwenden, können Sie Platzhalter-URLs eingeben.

Verwenden Sie jedoch einen Platzhalter wie .localhost / oder .localhost: {port}. (wenn schon .yourwebsite.com / * ) scheint nicht zu funktionieren.

Nur ein einzelnes * zu setzen, funktioniert, aber dies gibt Ihnen im Grunde einen unbegrenzten Schlüssel, der auch nicht das ist, was Sie wollen.

Wenn Sie den vollständigen Pfad ohne Verwendung des Platzhalters * einfügen, funktioniert dies auch. In meinem Fall gilt Folgendes:

http: // localhost {port} /
http: // localhost : {port} / etwas anderes / hier

Damit funktionieren die Google Maps sowohl lokal als auch auf www.yourwebsite.com mit demselben API-Schlüssel.

Auf jeden Fall würde ich raten, dies zu tun, wenn 2 separate Schlüssel ebenfalls eine Option sind.

Patrick
quelle
1

In diesem Tutorial erfahren Sie, wie Sie Google Maps zum Testen auf localhost verwenden.

Überprüfen Sie diese verwandten SO-Threads:

Hoffe das hilft!

abielita
quelle
2
defekter Link ist defekt
Rafael Herscovici
@AEGrey - nicht für mich, für zukünftige Benutzer.
Rafael Herscovici
1

Sie haben den spezifischen Fehler in der JavaScript - Konsole (zB prüfen Ctrl+ Shift+ Kin Firefox für Windows).

Laut Steven Gliebe (2016) gibt es vier häufige Fälle für dieses Problem. Wenn ich es so zusammenfassen darf:

  1. MissingKeyMapError >> Google Maps API-Schlüssel abrufen (aber auch Alternative Nr. 2 in Betracht ziehen)
  2. RefererNotAllowedMapError >> Registrieren Sie Ihren localhost: port in Ihrem Google Developer Dashboard .
  3. ApiNotActivatedMapError >> Aktivieren der Google Maps-API auf der Seite Google API Library
  4. InvalidKeyMapError >> Fügen Sie Ihren Schlüssel ordnungsgemäß zu Ihren Skripten / Codes hinzu

Leeren Sie nach einigen Codeänderungen den Browser-Cache nach Bedarf.

Falls andere Fehler auftreten, können Sie die Dokumentationsseite der Google Maps API- Fehlercodes überprüfen .

Santosa Sandy
quelle
0

Wenn "Anfragen von diesen HTTP-Referrern (Websites) annehmen (optional)" angezeigt wird, muss kein Referrer aufgeführt sein. Klicken Sie also auf das X neben localhost auf dieser Seite, aber verwenden Sie weiterhin Ihren Schlüssel.

Es sollte dann nach ein paar Minuten funktionieren.

Änderungen können manchmal einige Minuten dauern, bis sie wirksam werden. Warten Sie daher einige Minuten, bevor Sie sie erneut testen.

GMC
quelle
0

Wenn Sie in der Google-Suche "Meine IP" eingeben, habe ich meine öffentliche IP-Adresse erhalten und in die IP-Adresse eingefügt (die dritte Option). Für mich geht das.

Alaa ma
quelle
0

Wenn Sie in der Google-Suche "Meine IP" eingeben, habe ich meine öffentliche IP-Adresse erhalten und in die IP-Adresse eingefügt (die dritte Option). Für mich geht das.

andf
quelle