Wewnętrzne działanie protokołu OAuth 2.0 w interfejsie Google Ads API

Ta sekcja jest przeznaczona dla zaawansowanych użytkowników, którzy znają już specyfikację OAuth 2.0 i wiedzą, jak używać OAuth 2.0 z interfejsami API Google.

Zakres

Jeden token dostępu może przyznawać różny poziom dostępu do wielu interfejsów API. Parametr zmienny o nazwie scope kontroluje zbiór zasobów i operacji, na które zezwala token dostępu. Podczas żądania tokena dostępu aplikacja wysyła co najmniej 1 wartość w parametrze scope.

Zakres interfejsu Google Ads API to:

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

Dostęp offline i czas życia tokena

Aplikacja kliencka interfejsu Google Ads API często prosi o dostęp offline. Na przykład aplikacja może chcieć uruchamiać zadania wsadowe, gdy użytkownik nie jest fizycznie online i nie przegląda Twojej witryny. Tokeny dostępu są ważne przez 3600 sekund (1 godzinę), po czym aplikacja musi wymienić token odświeżania na nowy token dostępu.

Aby poprosić o dostęp offline w przypadku aplikacji internetowej, ustaw parametr access_type na offline. Więcej informacji znajdziesz w przewodniku Google po protokole OAuth 2.0.

W przypadku aplikacji na komputery dostęp offline jest domyślnie włączony. Nie musisz o niego wyraźnie prosić.

Nagłówki żądania

Wszystkie żądania wysyłane do interfejsu Google Ads API muszą zawierać token dostępu OAuth 2.0 w nagłówku żądania. W sekcjach poniżej znajdziesz opis przekazywania tych danych logowania za pomocą gRPC i REST.

Nagłówki gRPC

Jeśli używasz interfejsu gRPC API, dołączaj token dostępu do każdego żądania. Możesz powiązać Credential z Channel, aby używać go we wszystkich żądaniach w tym kanale. Możesz też wysyłać dostosowane dane logowania dla każdego wywołania. Więcej informacji o obsłudze autoryzacji znajdziesz w przewodniku po autoryzacji gRPC.

Nagłówki REST

Podczas korzystania z interfejsu API typu REST przekaż token dostępu w nagłówku HTTPAuthorization: Bearer <ACCESS_TOKEN>. Przykładowe żądanie HTTP:

# Returns the resource names of customers directly accessible by the user
# authenticating the call.
#
# Variables:
#   API_VERSION,
#   OAUTH2_ACCESS_TOKEN:
#     See https://developers.google.com/google-ads/api/rest/auth#request_headers
#     for details.
#
curl -f --request GET \
"https://googleads.googleapis.com/v${API_VERSION}/customers:listAccessibleCustomers" \
--header "Content-Type: application/json" \
--header "Authorization: Bearer ${OAUTH2_ACCESS_TOKEN}" \