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 poziom dostępu do wielu interfejsów API. Parametr zmienny o nazwie scope kontroluje zestaw zasobów i operacji, do których dostęp umożliwia 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

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.

Aby poprosić o dostęp offline w przypadku aplikacji internetowej, ustaw parametr access_type na offline. Dodatkowe informacje znajdziesz w przewodniku Google dotyczącym OAuth2.

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

Nagłówki żądania

Nagłówki gRPC

Gdy korzystasz z interfejsu gRPC API, dołączaj token dostępu do każdego żądania. Możesz powiązać CredentialChannel, aby używać go we wszystkich żądaniach w tym kanale. Możesz też wysyłać dostosowane dane logowania przy każdym wywołaniu. Więcej informacji o obsłudze autoryzacji znajdziesz w przewodniku po autoryzacji gRPC.

Nagłówki REST

Gdy używasz interfejsu API REST, przekaż token dostępu przez nagłówek HTTP Authorization. Przykładowe żądanie HTTP:

# Returns the resource names of customers directly accessible by the user
# authenticating the call.
#
# Variables:
#   API_VERSION,
#   DEVELOPER_TOKEN,
#   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 "developer-token: ${DEVELOPER_TOKEN}" \
--header "Authorization: Bearer ${OAUTH2_ACCESS_TOKEN}" \