Ich verwende https://maps.googleapis.com/maps/api/geocode/json ? Verknüpfen Sie mit dem Serverschlüssel und der Benutzer-IP, um den Breiten- und Längengrad einer Adresse zu ermitteln. Wenn ich versuche, finde ich den Fehler als
Ich habe einen Serverzugriffsschlüssel von Google und habe die IP-Adresse meines Servers in die weiße Liste aufgenommen.
Die URL, auf die ich über PHP CURL zugreifen möchte, lautet:
Das Ergebnis, das ich bekomme:
Array ([error_message] => This IP, site or mobile application is not authorized to use this API key. [results] => Array ( ) [status] => REQUEST_DENIED)
Gibt es etwas, das ich konfigurieren muss? Die Geokodierungs-API ist ebenfalls aktiviert.
google-api
google-places-api
user3336944
quelle
quelle
Antworten:
Ich hatte das gleiche Problem und fand es.
Für die URL wird am Ende der Serverschlüssel und nicht der API-Schlüssel für die App benötigt.
Grundsätzlich fügen Sie einfach den Serverschlüssel am Ende der URL wie folgt hinzu:
https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=yourlatitude,yourlongitude&radius=5000&sensor=true&key=SERVERKEY
Führen Sie nun die folgenden Schritte aus , um den Serverschlüssel zu erhalten :
1) Gehen Sie zur Entwicklerkonsole https://code.google.com/apis/console/
2) Erstellen Sie in den Anmeldeinformationen unter Öffentlicher API-Zugriff einen neuen Schlüssel
3) Wählen Sie den Serverschlüssel aus der Option.
4) Geben Sie Ihre IP-Adresse in das Feld ein. Wenn Sie mehr IP-Adressen haben, können Sie diese einfach in jede einzelne Zeile einfügen. HINWEIS: Geben Sie die IP-Adresse nur ein, wenn Sie sie für Testzwecke verwenden möchten. Andernfalls lassen Sie den Abschnitt IP-Adresse leer.
5) Wenn Sie fertig sind, klicken Sie auf Erstellen. Ihr neuer Serverschlüssel wird generiert. Anschließend können Sie diesen Serverschlüssel zu Ihrer URL hinzufügen.
Das Letzte ist, dass Sie den Sensor = true nicht in die Mitte der URL setzen, sondern am Ende wie folgt hinzufügen können:
https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=yourlatitude,yourlongitude&radius=5000&key=SERVERKEY&sensor=true
Dies wird das Problem definitiv lösen und denken Sie daran, den Serverschlüssel für zu verwenden
Places API
.BEARBEITEN
Ich glaube, die Web-URL hat sich in den letzten Jahren geändert. Sie können jetzt von hier aus auf die Entwicklerkonsole zugreifen - https://console.developers.google.com/apis/dashboard
Hoffe, diese Antwort wird Ihnen und anderen Zuschauern helfen. Viel Glück .. :)
quelle
quelle
Zusätzlich zu dem Ihnen zugewiesenen API-Schlüssel überprüft Google auch die Quelle der eingehenden Anforderung anhand
REFERRER
der IP-Adresse oder der IP-Adresse. Um ein Beispiel in Curl auszuführen, erstellen Sie eine neueServer Key
in der Google APIs-Konsole . Beim Erstellen müssen Sie die IP-Adresse des Servers angeben. In diesem Fall ist dies Ihre lokale IP-Adresse . Sobald Sie eine erstellt habenServer Key
IP-Adresse und auf die Whitelist gesetzt haben, sollten Sie in der Lage sein, den neuen API-Schlüssel in curl zu verwenden.Vermutlich haben Sie Ihren API-Schlüssel als einen Schlüssel erstellt, bei
Browser Key
dem Sie Ihre IP-Adresse nicht auf die Whitelist setzen müssen, sondern stattdessen dasREFERRER
HTTP-Header-Tag zur Validierung verwenden. curl sendet dieses Tag nicht standardmäßig, sodass Google Ihre Anfrage nicht validieren konnte.quelle
Die Google Places-API unterstützt derzeit keine Android- oder iOS-Schlüssel, die über die Google APIs-Konsole generiert wurden. Derzeit werden nur Server- und Browserschlüssel unterstützt.
quelle
Sie versuchen, einen API-SCHLÜSSEL zu verwenden, den Sie so eingeschränkt haben, dass diese Aktion nicht zulässig ist.
Laut Google:
Das Richtige ist also, einen weiteren API-SCHLÜSSEL zu erstellen und die richtigen Einschränkungen für diese Angelegenheit auszuwählen. Wählen Sie in Ihrem Fall "IP-Adressen" (unter "Anwendungsbeschränkungen") und verwenden Sie "EINZELTEIL HINZUFÜGEN", um Ihre Server-IP hinzuzufügen. Beachten Sie, dass das Verlassen einer leeren Liste nicht funktioniert und dazu führt, dass Google Ihre Einschränkungen in "Keine" ändert.
Vergessen Sie auch nicht, die relevanten APIs unter "API-Einschränkungen" (in Ihrem Fall "Geocoding API") hinzuzufügen.
Eine letzte Sache: Google blockiert die Verwendung dieser API, bis Sie Ihre App mit dem Google Cloud Billing-Konto verknüpfen. Wenn Sie es also noch nicht getan haben, heißt es, sobald Sie eine Antwort erfolgreich erhalten haben, dass Sie es zuerst tun müssen (es gibt ein kostenloses Startpaket).
quelle
Sie erstellen einen Schlüssel ohne Referer. Geben Sie nicht die Referer-Adresse ein
quelle
Für die Google Place-API muss der Referer-HTTP-Header beim API-Aufruf enthalten sein.
Fügen Sie den HTTP-Header "Referer: yourdomain.com" hinzu, um die Antwortprobleme zu beheben.
quelle
Außerdem sollte die entsprechende API für das angegebene Projekt aktiviert sein
https://console.developers.google.com/apis/library?project=projectnamehere
quelle
Für die neueste Version der API scheint das genaue Gegenteil für mich zuzutreffen.
Beim Aufrufen der URL
https://maps.googleapis.com/maps/api/geocode/json?address=<address>&key=<key>
wurde der folgende Fehler angezeigtSobald ich die Bestellung auf
https://maps.googleapis.com/maps/api/geocode/json?key=<key>&address=<address>
sie umgestellt habe, hat es gut funktioniert.Beachten Sie, dass die oben erhaltene Fehlermeldung die Meldung war, die ich erhalten habe, als ich direkt zur URL im Browser gegangen bin. Als ich die API von einem Softwareprogramm aus aufrief, erhielt ich eine HTML-Antwort mit der folgenden Meldung:
quelle
Für iOS- oder Android-Apps benötigt der Schlüssel ein zusätzliches Privileg.
Gehen Sie zu Google Console -> APIs und Dienste -> Bibliothek. Tippen Sie auf die Ortsbibliothek für Ihre Plattform und anschließend auf Aktivieren.
Siehe https://developers.google.com/maps/gmp-get-started#enable-api-sdk
quelle
Authentifizierung, Kontingente, Preise und Richtlinien Authentifizierung Um die Directions-API verwenden zu können, müssen Sie zuerst die API aktivieren und die richtigen Authentifizierungsdaten abrufen. Weitere Informationen finden Sie unter Erste Schritte mit Google Maps Platform.
Kontingente und Preise Auf der Verwendungs- und Abrechnungsseite finden Sie Details zu den Kontingenten und Preisen, die für die Wegbeschreibungs-API festgelegt wurden.
Richtlinien Die Verwendung der Directions-API muss den API-Richtlinien entsprechen.
Weitere Informationen finden Sie unter: --- https://developers.google.com/maps/documentation/directions/start?hl=de_DE
quelle
nur in AppDelegate hinzufügen wie
und entfernen Sie den Schlüssel in dieser URL.
jetzt ist url
quelle
Deaktivieren Sie sowohl die Richtungs-API als auch die Geokodierungs-API und aktivieren Sie sie erneut.
Es funktioniert nur 5-10 Sekunden und deaktiviert sich dann automatisch.
Es bedeutet, dass Sie nur 5-10 Sekunden Zeit haben, um Ihre Zuordnung zu testen.
quelle