Konfigurowanie i używanie protokołu OAuth

Wszystkie wywołania interfejsu API Usług Lokalnych muszą być autoryzowane za pomocą OAuth 2.0. Dzięki temu aplikacja kliencka interfejsu Local Services API może uzyskiwać dostęp do konta Reklam Usług Lokalnych użytkownika bez konieczności obsługiwania lub przechowywania informacji logowania użytkownika.

Interfejs API Usług lokalnych używa protokołu OAuth 2.0 do uwierzytelniania użytkowników. Więcej informacji o OAuth 2.0 znajdziesz w artykule Używanie OAuth 2.0 na potrzeby dostępu do interfejsów API Google.

Konfigurowanie projektu w Konsoli interfejsów API Google na potrzeby interfejsu Local Services API

Aby uwierzytelniać i autoryzować użytkowników Google Ads, musisz mieć dane logowania umożliwiające dostęp do serwerów OAuth 2.0 Google. Te dane logowania identyfikują Twoją aplikację w Google i umożliwiają generowanie tokenów OAuth do zarządzania użytkownikami Google Ads. Za pomocą Konsoli interfejsów API Google możesz zarządzać dostępem do danych logowania Google OAuth 2.0.

Aby otrzymać te dane logowania, wykonaj te czynności:

  1. Utwórz projekt. Aby to zrobić, otwórz konsolę interfejsów API Google. Kliknij Utwórz projekt, wpisz nazwę i kliknij Utwórz.

  2. Włącz interfejs Local Services API w projekcie:

    1. Otwórz Bibliotekę API w konsoli interfejsów API Google. Jeśli pojawi się taka prośba, wybierz projekt lub utwórz nowy. W Bibliotece API znajdziesz wszystkie dostępne interfejsy API pogrupowane według rodziny usług i popularności.

      Jeśli interfejsu Local Services API nie ma na liście, użyj pola wyszukiwania, aby go znaleźć.

    2. Wybierz interfejs Local Services API, a następnie kliknij Włącz.

  3. Wybierz typ aplikacji. Interfejs Local Services API używa tych samych typów aplikacji co interfejs Google Ads API. Więcej informacji o tym, jakiego typu aplikacji użyć, znajdziesz w artykule Wybieranie typu aplikacji.

  4. Utwórz identyfikator i tajny klucz klienta. W przypadku interfejsu API Usług Lokalnych wykonaj te same czynności, aby utworzyć identyfikator klienta i klucz tajny klienta co w przypadku interfejsu Google Ads API. Czynności w obu przypadkach są identyczne.

Używanie biblioteki klienta do uzyskiwania tokenów OAuth 2.0

Listę bibliotek klienta, których możesz używać do wysyłania żądań autoryzacji OAuth 2.0, znajdziesz w sekcji Biblioteki klienta. Postępuj zgodnie z instrukcjami dotyczącymi biblioteki, aby dowiedzieć się, jak używać tokena odświeżania do uzyskiwania nowego tokena dostępu.

Jak uzyskać token odświeżania OAuth 2.0

Zalecamy używanie bibliotek klienta w środowisku produkcyjnym do uwierzytelniania użytkowników. Jeśli chcesz użyć klienta HTTP do celów testowych, postępuj zgodnie z tymi instrukcjami, aby uzyskać token odświeżania OAuth 2.0 i token dostępu. Kroki 1, 2 i 3 to instrukcje konfiguracji jednorazowej, które musisz wykonać ręcznie. Kroki 4 i 5 można później zautomatyzować, aby były wykonywane bez interwencji człowieka, np. za pomocą zadania cron.

  1. Pobierz i zainstaluj narzędzie curl, czyli narzędzie wiersza poleceń do wysyłania żądań HTTP.

  2. Postępuj zgodnie z instrukcjami na stronie OAuth Playground, aby uzyskać token odświeżania OAuth 2.0. W przypadku interfejsu Local Services API użyj tego zakresu:

    https://www.googleapis.com/auth/adwords
    

    Jest to ten sam zakres OAuth 2.0, którego używa interfejs Google Ads API.

    Po wykonaniu tego kroku otrzymasz 2 tokeny: token odświeżania i token dostępu. Zapisz oba.

  3. Aby sprawdzić, czy poprzedni krok zakończył się powodzeniem, uruchom to polecenie w wierszu poleceń:

    curl https://oauth2.googleapis.com/tokeninfo?access_token=<INSERT_ACCESS_TOKEN>
    

    Jeśli wynik polecenia zawiera komunikat podobny do tego, oznacza to, że polecenie zostało wykonane prawidłowo:

    {
      "azp": "************-********************************.apps.googleusercontent.com",
      "aud": "************-********************************.apps.googleusercontent.com",
      "scope": "https://www.googleapis.com/auth/adwords [googleapis.com]",
      "exp": "1611183382",
      "expires_in": "3482",
      "access_type": "offline"
    }
    

    Jeśli wystąpi błąd lub zakres jest nieprawidłowy, spróbuj ponownie wygenerować tokeny.

  4. Wygeneruj nowy token dostępu bez ręcznej interwencji. Jest to ważne, ponieważ tokeny dostępu wygasają co godzinę. Tokeny odświeżania wygasają znacznie później, więc często musisz je ręcznie unieważniać, gdy nie są już potrzebne.

    Aby uzyskać nowy token dostępu, uruchom to polecenie:

    curl --data "refresh_token=<INSERT_REFRESH_TOKEN>&client_id=<INSERT_CLIENT_ID>&client_secret=<INSERT_CLIENT_SECRET>&grant_type=refresh_token" -X POST "https://oauth2.googleapis.com/token”
    
  5. Uruchom to wywołanie interfejsu API:

    curl -H "Authorization: Bearer <INSERT_ACCESS_TOKEN>" https://localservices.googleapis.com/v1/accountReports:search?query=manager_customer_id:<INSERT_10_DIGIT_MANAGER_CUSTOMER_ID_WITHOUT_HYPHENS>
    

    Jeśli połączenie się powiedzie, konfiguracja zostanie zakończona.