Roads Selection API używa interfejsu Roads Selection API jako podstawowego komponentu, który dostarcza dane o drogach do BigQuery i Pub/Sub.
Roads Selection API obsługuje uwierzytelnianie za pomocą protokołu OAuth 2.0. Google obsługuje typowe scenariusze OAuth 2.0, takie jak te dotyczące serwera WWW.
Ten dokument opisuje, jak przekazać token OAuth do wywołania interfejsu API Roads Selection w środowisku programistycznym. Więcej informacji o używaniu protokołu OAuth w środowisku produkcyjnym znajdziesz w artykule Uwierzytelnianie w Google.
Zanim zaczniesz
Zanim zaczniesz korzystać z interfejsu Roads Selection API, musisz mieć projekt z kontem rozliczeniowym i włączonym interfejsem Roads Selection API. Więcej informacji znajdziesz w artykule o konfigurowaniu w konsoli Cloud.
Informacje o protokole OAuth
Tokeny dostępu możesz tworzyć i zarządzać nimi za pomocą protokołu OAuth na kilka sposobów, w zależności od środowiska wdrażania.
Na przykład system Google OAuth 2.0 obsługuje interakcje między serwerami, takie jak te między Twoją aplikacją a usługą Google. W tym scenariuszu musisz mieć konto usługi, czyli konto, które należy do Twojej aplikacji, a nie do użytkownika. Aplikacja wywołuje interfejsy API Google w imieniu konta usługi, ponieważ użytkownicy nie są bezpośrednio zaangażowani. Więcej informacji o metodach uwierzytelniania znajdziesz w artykule Uwierzytelnianie w Google.
Możesz też używać interfejsu Roads Selection API w aplikacji mobilnej na Androida lub iOS. Więcej informacji o używaniu protokołu OAuth z interfejsem Roads Selection API, w tym o zarządzaniu tokenami dostępu w różnych środowiskach wdrażania, znajdziesz w artykule Używanie OAuth 2.0 do korzystania z interfejsów API Google.
Informacje o zakresach OAuth
Aby używać protokołu OAuth z interfejsem Roads Selection API, token OAuth musi mieć zakres https://www.googleapis.com/auth/cloud-platform.
Przykład: wypróbuj wywołania interfejsu API REST w lokalnym środowisku programistycznym
Jeśli chcesz wypróbować Roads Selection API za pomocą tokena OAuth, ale nie masz skonfigurowanego środowiska do generowania tokenów, wykonaj procedurę opisaną w tej sekcji, aby wysłać żądanie.
Ten przykład pokazuje, jak użyć tokena OAuth dostarczonego przez domyślne uwierzytelnianie aplikacji (ADC) do wykonania wywołania. Więcej informacji o używaniu domyślnych danych uwierzytelniających aplikacji do wywoływania interfejsów API Google za pomocą bibliotek klienta znajdziesz w artykule na temat uwierzytelniania przy użyciu bibliotek klienta.
Wymagania wstępne
Zanim wyślesz żądanie REST za pomocą domyślnych danych uwierzytelniających aplikacji, użyj Google Cloud CLI, aby przekazać dane uwierzytelniające do domyślnych danych uwierzytelniających aplikacji:
- Jeśli jeszcze nie masz projektu, utwórz go i włącz płatności, wykonując czynności opisane w artykule Konfigurowanie w konsoli Cloud.
- Zainstaluj i zainicjuj gcloud CLI.
Aby utworzyć plik danych uwierzytelniających, uruchom na komputerze lokalnym polecenie
gcloud:gcloud auth application-default login
- Gdy pojawi się taka prośba, zaloguj się. Po zalogowaniu się dane logowania są przechowywane w lokalnym pliku danych logowania używanym przez ADC.
Więcej informacji znajdziesz w sekcji Lokalne środowisko programistyczne w dokumentacji Podawanie danych logowania na potrzeby domyślnego uwierzytelniania aplikacji.
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.- W nagłówku
X-Goog-User-Projectpodaj identyfikator lub nazwę projektu w chmurze Google, który ma włączone płatności. Więcej informacji znajdziesz w artykule o konfigurowaniu w konsoli Cloud.
Wywołaj interfejs Roads Selection API za pomocą tokena OAuth:
curl -X GET \ -H 'X-Goog-User-Project: PROJECT_NUMBER' \ -H 'Authorization: Bearer ACCESS_TOKEN' \ https://roads.googleapis.com/selection/v1/projects/PROJECT_NUMBER/selectedRoutes/SELECTED_ROUTE_ID
Rozwiązywanie problemów
Jeśli żądanie zwróci komunikat o błędzie informujący, że dane logowania użytkownika nie są obsługiwane przez ten interfejs API, zapoznaj się z artykułem Dane logowania użytkownika nie działają.