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

Pojedynczy token dostępu może przyznawać różne poziomy dostępu do wielu interfejsów API. Zbiór zasobów i operacji, na które zezwala token dostępu, jest kontrolowany przez parametr zmiennej o nazwie scope. Podczas żądania tokena dostępu aplikacja wysyła co najmniej 1 wartość w parametrze scope.

Zakres interfejsu Google Ads API:

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

Dostęp offline i okres ważności tokenów

Aplikacje klienckie interfejsu Google Ads API często proszą 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 dla aplikacji internetowej, ustaw parametr access_type na offline. Dodatkowe informacje znajdziesz w przewodniku Google po protokole OAuth 2.0.

W przypadku aplikacji komputerowej dostęp offline jest domyślnie włączony – nie musisz o niego 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 poniższych sekcjach opisano, jak przekazywać te dane uwierzytelniające za pomocą gRPC i REST.

Nagłówki gRPC

Jeśli używasz interfejsu gRPC API, dołącz 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ż wysłać niestandardowe dane logowania dla każdego wywołania. Więcej informacji o obsłudze autoryzacji znajdziesz w przewodniku po autoryzacji gRPC.

Nagłówki REST

Jeśli używasz interfejsu API typu REST, przekaż token dostępu przez nagłówek HTTP Authorization: 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}" \