Używam https://maps.googleapis.com/maps/api/geocode/json ? łącze z kluczem serwera i adresem IP użytkownika, aby znaleźć szerokość i długość geograficzną dowolnego adresu, gdy próbuję, znajduję błąd jako
Mam klucz dostępu do serwera od Google i umieściłem adres IP mojego serwera na ich białej liście.
Adres URL, do którego próbuję uzyskać dostęp przez PHP CURL, to:
Wynik, który otrzymuję:
Array ([error_message] => This IP, site or mobile application is not authorized to use this API key. [results] => Array ( ) [status] => REQUEST_DENIED)
Czy jest coś, co muszę skonfigurować? Włączone jest również API geokodowania.
google-api
google-places-api
user3336944
źródło
źródło
Odpowiedzi:
Miałem ten sam problem i znalazłem to.
W adresie URL wymaga na końcu klucza serwera, a nie klucza API dla aplikacji.
Zasadniczo wystarczy dodać klucz serwera na końcu adresu URL w następujący sposób:
https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=yourlatitude,yourlongitude&radius=5000&sensor=true&key=SERVERKEY
Teraz, aby uzyskać klucz serwera, wykonaj następujące kroki:
1) Przejdź do Konsoli programisty https://code.google.com/apis/console/
2) W poświadczeniach, w sekcji Dostęp do publicznego interfejsu API, Utwórz nowy klucz
3) Wybierz klucz serwera z opcji.
4) Wpisz swój adres IP w polu, a jeśli masz więcej adresów IP, możesz po prostu dodać je w każdym wierszu. UWAGA: Wprowadź adres IP tylko wtedy, gdy chcesz go użyć do celów testowych. W przeciwnym razie pozostaw sekcję Adres IP pustą.
5) Po zakończeniu kliknij przycisk Utwórz, a nowy klucz serwera zostanie wygenerowany, a następnie możesz dodać ten klucz serwera do adresu URL.
Ostatnią rzeczą jest to, że zamiast umieszczać sensor = true w środku adresu URL, możesz dodać go na końcu w ten sposób:
https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=yourlatitude,yourlongitude&radius=5000&key=SERVERKEY&sensor=true
To z pewnością rozwiąże problem i pamiętaj tylko o użyciu klucza serwera
Places API
.EDYTOWAĆ
Uważam, że internetowy adres URL zmienił się w ostatnich latach. Możesz teraz uzyskać dostęp do konsoli programistów - https://console.developers.google.com/apis/dashboard
Mam nadzieję, że ta odpowiedź pomoże Tobie i innym widzom. Powodzenia .. :)
źródło
źródło
Oprócz przypisanego do Ciebie klucza interfejsu API Google weryfikuje również źródło przychodzącego żądania, sprawdzając
REFERRER
adres IP lub. Aby uruchomić przykład w curl, utwórz nowąServer Key
w konsoli Google API . Tworząc go musisz podać adres IP serwera. W tym przypadku będzie to Twój lokalny adres IP . Po utworzeniuServer Key
i dodaniu adresu IP do białej listy powinieneś móc używać nowego klucza API w curl.Domyślam się, że prawdopodobnie utworzyłeś swój klucz API jako,
Browser Key
który nie wymaga dodania adresu IP do białej listy, ale zamiast tego używaREFERRER
tagu nagłówka HTTP do weryfikacji. curl nie wysyła tego tagu domyślnie, więc Google nie mógł zweryfikować Twojego żądania.źródło
Interfejs API Miejsc Google nie obsługuje obecnie kluczy systemu Android ani iOS wygenerowanych z konsoli interfejsów API Google. Obecnie obsługiwane są tylko klucze serwera i przeglądarki.
źródło
Próbujesz użyć KLUCZA API, który został ograniczony w sposób uniemożliwiający wykonanie tej czynności.
Według Google:
Więc właściwą rzeczą jest utworzenie kolejnego KLUCZA API i wybranie odpowiednich ograniczeń w tej sprawie. W Twoim przypadku wybierz „Adresy IP” (w sekcji „Ograniczenia aplikacji”) i użyj opcji „DODAJ ELEMENT”, aby dodać adres IP serwera. Zwróć uwagę, że pozostawienie pustej listy nie zadziała i spowoduje, że Google zmieni Twoje ograniczenia na „Brak”.
Nie zapomnij również dodać odpowiednich interfejsów API w sekcji „Ograniczenia API” (w twoim przypadku „Geocoding API”).
Ostatnia rzecz - Google blokuje korzystanie z tego interfejsu API, dopóki nie połączysz swojej aplikacji z kontem rozliczeniowym Google Cloud. Więc jeśli jeszcze tego nie zrobiłeś, po pomyślnym otrzymaniu odpowiedzi powie, że musisz to zrobić najpierw (ma darmowy pakiet startowy).
źródło
Tworzysz klucz bez referencji, nie wprowadzaj adresu referencyjnego
źródło
Interfejs API Google Place wymaga dołączenia nagłówka HTTP odsyłającego podczas wykonywania wywołania interfejsu API.
Dołącz nagłówek HTTP „Referer: twoja_domena.com”, a to powinno rozwiązać problemy z odpowiedzią.
źródło
Dla danego projektu należy również włączyć odpowiednie API
https://console.developers.google.com/apis/library?project=projectnamehere
źródło
W przypadku najnowszej wersji API wydaje mi się, że jest dokładnie odwrotnie.
Podczas wywoływania adresu URL
https://maps.googleapis.com/maps/api/geocode/json?address=<address>&key=<key>
otrzymywałem następujący błądKiedy zmieniłem kolejność
https://maps.googleapis.com/maps/api/geocode/json?key=<key>&address=<address>
, działało dobrze.Zauważ, że powyższy komunikat o błędzie był komunikatem, który otrzymałem, przechodząc bezpośrednio do adresu URL w przeglądarce. Kiedy zadzwoniłem do API z programu, otrzymałem odpowiedź HTML z zasadniczo następującym komunikatem:
źródło
W przypadku aplikacji na iOS lub Androida klucz wymaga przyznania dodatkowych uprawnień.
Przejdź do Konsoli Google -> Interfejsy API i usługi -> Biblioteka. Stuknij bibliotekę Miejsc dla swojej platformy, a następnie stuknij opcję Włącz.
Zobacz https://developers.google.com/maps/gmp-get-started#enable-api-sdk
źródło
Uwierzytelnianie, limity, ceny i zasady Uwierzytelnianie Aby korzystać z interfejsu Directions API, należy najpierw włączyć interfejs API i uzyskać odpowiednie dane uwierzytelniające. Więcej informacji znajdziesz w artykule Pierwsze kroki z Google Maps Platform.
Limity i ceny Przejrzyj stronę użytkowania i rozliczeń, aby uzyskać szczegółowe informacje na temat limitów i cen ustawionych dla interfejsu Directions API.
Zasady Korzystanie z Directions API musi być zgodne z zasadami API.
więcej informacji: odwiedź: --- https://developers.google.com/maps/documentation/directions/start?hl=en_US
źródło
dodaj tylko w AppDelegate jak
i usuń klucz z tego adresu URL.
teraz adres URL to
źródło
Wyłącz interfejs API kierunku i API geokodowania i włącz ponownie.
działa tylko przez 5-10 sekund, a następnie automatycznie się wyłącza.
oznacza to, że masz tylko 5-10 sekund na przetestowanie swojego zadania.
źródło