Z tego dokumentu dowiesz się, jak zacząć korzystać z interfejsu Geocoding API.
|
Upewnij się, że spełniasz wymagania wstępne. |
włączyć interfejs API w projekcie Google Cloud, |
Skonfiguruj klucz interfejsu API lub OAuth, aby wysłać uwierzytelnione żądanie do interfejsu API. |
Usługi Google Maps Platform są zabezpieczone przed nieautoryzowanym użyciem, ponieważ wywołania interfejsu API muszą zawierać klucz interfejsu API lub token OAuth.
Tworzenie tokena OAuth
Interfejs Geocoding API obsługuje uwierzytelnianie za pomocą OAuth 2.0. Google obsługuje typowe scenariusze korzystania z protokołu OAuth 2.0, takie jak serwer internetowy.
W tym dokumencie opisujemy, jak przekazać token OAuth do wywołania interfejsu Geocoding API w środowisku programistycznym. Instrukcje dotyczące używania OAuth w środowisku produkcyjnym znajdziesz w artykule Metody uwierzytelniania w Google.
Informacje o protokole OAuth
Istnieje wiele sposobów tworzenia tokenów dostępu i zarządzania nimi za pomocą OAuth w zależności od środowiska wdrożenia.
Na przykład system Google OAuth 2.0 obsługuje interakcje między serwerami, takie jak interakcje między Twoją aplikacją a usługą Google. W tym scenariuszu potrzebujesz konta usługi, które należy do Twojej aplikacji, a nie do użytkownika. Aplikacja wywołuje interfejsy API Google w imieniu konta usługi, więc użytkownicy nie są w to bezpośrednio zaangażowani. Więcej informacji o metodach uwierzytelniania znajdziesz w artykule Metody uwierzytelniania w Google.
Możesz też używać interfejsu Geocoding API w ramach aplikacji mobilnej na Androida lub iOS. Ogólne informacje o używaniu OAuth z interfejsem Geocoding API, w tym o zarządzaniu tokenami dostępu w różnych środowiskach wdrażania, znajdziesz w artykule Używanie OAuth 2.0 do uzyskiwania dostępu do interfejsów API Google.
Informacje o zakresach protokołu OAuth
Aby używać protokołu OAuth z interfejsem Geocoding API, token OAuth musi mieć przypisany odpowiedni zakres. Geocoding API obsługuje te zakresy:
https://www.googleapis.com/auth/maps-platform.geocode– używaj ze wszystkimi punktami końcowymi Geocoding API.https://www.googleapis.com/auth/maps-platform.geocode.address– używaj tylko z parametremGeocodeAddressw przypadku geokodowania do przodu.https://www.googleapis.com/auth/maps-platform.geocode.location– używaj tylko z parametremGeocodeLocationdo odwrotnego geokodowania.https://www.googleapis.com/auth/maps-platform.geocode.place– Używaj tylko z parametremGeocodePlacedo geokodowania miejsc.
Możesz też użyć ogólnego https://www.googleapis.com/auth/cloud-platformzakresu dla wszystkich punktów końcowych interfejsu Geocoding API. Ten zakres jest przydatny podczas programowania, ponieważ jest to domyślny zakres używany podczas tworzenia tokenów za pomocą gcloud.
Przykład: wypróbuj wywołania interfejsu REST API w lokalnym środowisku programistycznym
Jeśli chcesz wypróbować interfejs Geocoding API za pomocą tokena OAuth, ale nie masz skonfigurowanego środowiska do generowania tokenów, możesz wykonać połączenie zgodnie z procedurą opisaną w tej sekcji.
W tym przykładzie opisujemy, jak użyć tokena OAuth dostarczonego przez domyślne dane logowania aplikacji (ADC) do wykonania wywołania. Informacje o używaniu ADC do wywoływania interfejsów API Google za pomocą bibliotek klienta znajdziesz w artykule Uwierzytelnianie za pomocą bibliotek klienta.
Wymagania wstępne
Zanim wyślesz żądanie REST przy użyciu ADC, użyj Google Cloud CLI, aby przekazać dane logowania do ADC:
- Zainstaluj i zainicjuj interfejs wiersza poleceń gcloud.
Aby utworzyć plik danych logowania, uruchom na komputerze lokalnym to polecenie
gcloud:gcloud auth application-default login
- Wyświetli się ekran logowania. Po zalogowaniu się Twoje dane logowania są przechowywane w lokalnym pliku danych logowania używanym przez ADC.
Więcej informacji znajdziesz w artykule Konfigurowanie ADC w lokalnym środowisku deweloperskim.
Wysyłanie żądania REST
W tym przykładzie przekazujesz 2 nagłówki żądania:
Przekaż token OAuth w nagłówku
Authorization, używając tego polecenia do wygenerowania tokena:gcloud auth application-default print-access-tokenZwrócony token ma zakres
https://www.googleapis.com/auth/cloud-platform.- Przekaż identyfikator lub nazwę projektu Google Cloud, w którym włączono rozliczenia, w nagłówku
X-Goog-User-Project.
W tym przykładzie wywołujemy interfejs Geocoding API za pomocą tokena OAuth.
Edytuj pole PROJECT_ID, aby przekazać identyfikator projektu Google Cloud.
curl -X GET -H 'Content-Type: application/json' \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "X-Goog-User-Project: PROJECT_ID" \ "https://geocode.googleapis.com/v4beta/geocode/address/1600+Amphitheatre+Parkway,+Mountain+View,+CA"
- W przykładowym kodzie kliknij ikonę kopiowania
, aby skopiować polecenie curl. - Wklej polecenie w oknie terminala i uruchom je.
Odpowiedzią jest obiekt JSON:
Rozwiązywanie problemów
Jeśli w odpowiedzi na Twoje żądanie pojawi się komunikat o błędzie informujący, że dane logowania użytkownika nie są obsługiwane przez ten interfejs API, zapoznaj się z artykułem Rozwiązywanie problemów z konfiguracją ADC.