Użyj protokołu OAuth

Interfejs Maps Datasets API obsługuje uwierzytelnianie przy użyciu protokołu OAuth 2.0. Google obsługuje typowe scenariusze korzystania z protokołu OAuth 2.0, takie jak serwer WWW.

Ten dokument opisuje sposób przekazywania tokena OAuth do wywołania interfejsu Maps Datasets API w środowisku programistycznym. Instrukcje korzystania z protokołu OAuth w środowisku produkcyjnym znajdziesz w artykule na temat uwierzytelniania w Google.

Zanim zaczniesz

Zanim zaczniesz korzystać z interfejsu Maps Datasets API, musisz mieć projekt z kontem rozliczeniowym i włączonym interfejsem Maps Datasets API. Zalecamy utworzenie kilku właścicieli projektu i administratorów rozliczeniowych. Dzięki temu Twój zespół zawsze będzie miał dostęp do tych ról. Więcej informacji znajdziesz w artykule Konfiguracja w Cloud Console.

Informacje o protokole OAuth

Istnieje wiele sposobów tworzenia tokenów dostępu za pomocą protokołu OAuth i zarządzania nimi w zależności od środowiska wdrożenia.

Na przykład system Google OAuth 2.0 obsługuje interakcje między serwerami, takie jak między aplikacją a usługą Google. W tej sytuacji potrzebujesz konta usługi, które należy do Twojej aplikacji, a nie do pojedynczego użytkownika końcowego. Twoja 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 na temat uwierzytelniania w Google.

Interfejsu API Map Google możesz też używać w aplikacji mobilnej na Androida lub iOS. Ogólne informacje o korzystaniu z protokołu OAuth z interfejsem Maps Datasets API, w tym o zarządzaniu tokenami dostępu w różnych środowiskach wdrożenia, znajdziesz w artykule Korzystanie z protokołu OAuth 2.0 do uzyskiwania dostępu do interfejsów API Google.

Informacje o zakresach OAuth

Aby korzystać z protokołu OAuth w interfejsie Maps Datasets API, musisz przypisać zakres do tokena OAuth:

  • https://www.googleapis.com/auth/cloud-platform

Przykład: wypróbowanie wywołań interfejsu API REST w lokalnym środowisku programistycznym

Jeśli chcesz wypróbować interfejs Maps Datasets API z użyciem tokena OAuth, ale nie masz konfiguracji środowiska do generowania tokenów, możesz wykonać wywołanie opisane w tej sekcji.

Ten przykład pokazuje, jak użyć tokena OAuth udostępnionego przez domyślne dane uwierzytelniające aplikacji (ADC) do wykonania wywołania. Więcej informacji o używaniu ADC do wywoływania interfejsów API Google przy użyciu bibliotek klienta znajdziesz w artykule Uwierzytelnianie przy użyciu bibliotek klienta.

Wymagania wstępne

Zanim utworzysz żądanie REST za pomocą ADC, podaj dane logowania do ADC za pomocą interfejsu wiersza poleceń Google Cloud:

  1. Jeśli jeszcze nie masz tego projektu, utwórz projekt i włącz płatności, wykonując czynności opisane w artykule Konfigurowanie w Google Cloud Console.
  2. Zainstaluj i zainicjuj interfejs wiersza poleceń gcloud.
  3. Uruchom to polecenie gcloud na komputerze lokalnym, aby utworzyć plik danych logowania:

    gcloud auth application-default login
  4. Pojawi się ekran logowania. Gdy się zalogujesz, Twoje dane logowania są przechowywane w lokalnym pliku danych logowania używanym przez ADC.

Więcej informacji znajdziesz w sekcji Lokalne środowisko programistyczne w dokumentacji podawania danych logowania do domyślnych danych logowania aplikacji.

Tworzenie żądania REST

W tym przykładzie przekażesz 2 nagłówki żądania:

  • Przekaż token OAuth w nagłówku Authorization za pomocą tego polecenia, aby go wygenerować:

    gcloud auth application-default print-access-token

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

  • Przekaż w nagłówku X-Goog-User-Project identyfikator lub nazwę projektu Google Cloud z włączonymi płatnościami. Więcej informacji znajdziesz w artykule o konfiguracji w Cloud Console.

W tym przykładzie wywołujemy interfejs Maps Datasets API przy użyciu tokena OAuth:

curl -X GET \
-H 'X-Goog-User-Project: PROJECT_NUMBER_OR_ID' \
-H 'Authorization: Bearer $TOKEN' \
https://mapsplatformdatasets.googleapis.com/v1/projects/PROJECT_NUMBER_OR_ID/datasets

Rozwiązywanie problemów

Jeśli żądanie zwraca komunikat o błędzie z informacją, że dane logowania użytkownika nie są obsługiwane przez ten interfejs API, zapoznaj się z sekcją Dane logowania użytkownika nie działają.