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óżny stopień dostępu do wielu interfejsów API. Zestaw zasobów i operacji, na które zezwala token dostępu, jest kontrolowany przez parametr zmienny o nazwie scope. 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. Aplikacja może na przykład chcieć uruchamiać zadania wsadowe, gdy użytkownik nie jest online i nie przegląda Twojej witryny. Tokeny dostępu mają czas życia wynoszący 3600 sekund (1 godzinę), po którym 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. Dodatkowe informacje znajdziesz w przewodniku Google na temat 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 kolejnych sekcjach opisujemy, jak przekazywać te dane logowania za pomocą gRPC i REST.

Nagłówki gRPC

Gdy 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ć dostosowane dane logowania dla każdego wywołania. Więcej informacji o obsłudze autoryzacji znajdziesz w przewodniku gRPC Authorization guide.

Nagłówki REST

Gdy używasz interfejsu REST API, przekaż token dostępu w nagłówku HTTP Authorization: Bearer <ACCESS_TOKEN>. Poniżej znajdziesz przykład żądania 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}" \