Użyj protokołu OAuth

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:

  1. 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.
  2. Zainstaluj i zainicjuj gcloud CLI.
  3. Aby utworzyć plik danych uwierzytelniających, uruchom na komputerze lokalnym polecenie gcloud:

    gcloud auth application-default login
  4. 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-token

    Zwrócony token ma zakres https://www.googleapis.com/auth/cloud-platform.

  • W nagłówku X-Goog-User-Project podaj 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ą.