Solar API obsługuje uwierzytelnianie przy użyciu protokołu OAuth 2.0. Google obsługuje typowe scenariusze korzystania z protokołu OAuth 2.0, na przykład dla serwera WWW.
W tym dokumencie opisujemy, jak przekazać token OAuth do wywołania interfejsu Solar API w rozwojowego środowiska programistycznego. Instrukcje korzystania z protokołu OAuth w środowisku produkcyjnym, patrz Uwierzytelnianie w Google.
Zanim zaczniesz
Zanim zaczniesz korzystać z interfejsu Solar API, musisz mieć projekt z kontem rozliczeniowym i włączonym interfejsem Solar API. Zalecamy utworzenie wielu właścicieli projektów i administratorów rozliczeniowych, aby zawsze mieć kogoś o tych rolach dostępne dla Twojego zespołu. Więcej informacji znajdziesz w artykule Konfiguracja w konsoli Cloud.
Informacje o protokole OAuth
Istnieje wiele sposobów tworzenia tokenów dostępu OAuth i zarządzania nimi w zależności od wdrożenia dla środowiska.
System Google OAuth 2.0 obsługuje na przykład interakcje między serwerami, takie jak między aplikacją a usługą Google. W tym scenariuszu potrzebujesz konta usługi, które jest kontem należącym do Twojej aplikacji, a nie do indywidualnego użytkownika końcowego. Twoje 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 Uwierzytelnianie w Google.
Możesz też korzystać z interfejsu Solar API w aplikacji mobilnej na Androida lub iOS. Ogólne informacje o używaniu protokołu OAuth z interfejsem Solar API, w tym o zarządzaniu tokeny dostępu do różnych środowisk wdrożeniowych, zobacz Korzystanie z protokołu OAuth 2.0 na potrzeby dostępu do interfejsów API Google
Informacje o zakresach protokołu OAuth
Aby używać protokołu OAuth z interfejsem Solar API, token OAuth musi mieć przypisany 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ć interfejs Solar API za pomocą tokena OAuth, ale nie masz odpowiedniego środowiska konfiguracji w celu wygenerowania tokenów, możesz wykonać procedurę opisaną w tej sekcji.
Ten przykład opisuje, jak używać tokena OAuth udostępnianego przez Domyślne uwierzytelnianie aplikacji (ADC) aby zadzwonić. Informacje o używaniu ADC do wywoływania interfejsów API Google przy użyciu bibliotek klienta znajdziesz tutaj: Uwierzytelnij się za pomocą bibliotek klienta.
Wymagania wstępne
Zanim utworzysz żądanie REST za pomocą ADC, użyj Google Cloud CLI aby podać dane logowania do ADC:
- Utwórz projekt i włącz płatności, wykonując czynności opisane w Skonfiguruj go w konsoli Google Cloud.
- Zainstaluj i zainicjuj interfejs wiersza poleceń gcloud.
Uruchom to polecenie
gcloud
na komputerze lokalnym, aby utworzyć plik danych logowania:gcloud auth application-default login
- Pojawi się ekran logowania. Gdy się zalogujesz, Twoje dane logowania zostaną zapisane w lokalnego pliku danych logowania używanego przez ADC.
Więcej informacji: Lokalne środowisko programistyczne strony Podaj dane logowania do domyślnych danych uwierzytelniających aplikacji dokumentacji.
Wyślij żądanie REST
W tym przykładzie przekazujemy 2 nagłówki żądania:
Przekaż token OAuth w nagłówku
Authorization
za pomocą tego kodu aby wygenerować token:gcloud auth application-default print-access-token
Zwrócony token ma zakres
https://www.googleapis.com/auth/cloud-platform.
- Przekaż identyfikator lub nazwę projektu Google Cloud, który ma włączone płatności
Nagłówek
X-Goog-User-Project
. Więcej informacji: Skonfiguruj w Cloud Console.
Poniższy przykład wywołuje interfejs Solar API za pomocą tokena OAuth:
curl -X GET \ -H 'X-Goog-User-Project: PROJECT_NUMBER_OR_ID' \ -H "Authorization: Bearer $TOKEN" \ "https://solar.googleapis.com/v1/dataLayers:get?location.latitude=37.4450&location.longitude=-122.1390 &radius_meters=100 &required_quality=HIGH"
Rozwiązywanie problemów
Jeśli żądanie zwróci komunikat o błędzie informujący o tym, że dane logowania użytkownika nie są obsługiwane przez ten interfejs API, Więcej informacji: Dane logowania użytkownika nie działają.