Внутренние механизмы OAuth 2.0 для Google Ads API

Этот раздел предназначен для опытных пользователей, которые уже знакомы со спецификацией OAuth 2.0 и знают, как использовать OAuth 2.0 с API Google.

Область действия

Один токен доступа может предоставлять разные уровни доступа к нескольким API. Набор ресурсов и операций, разрешенных токеном доступа, определяется переменным параметром scope. При запросе токена доступа приложение отправляет одно или несколько значений в параметре scope.

Область действия Google Ads API:

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

Офлайн-доступ и срок действия токенов

Клиентские приложения Google Ads API часто запрашивают офлайн-доступ. Например, ваше приложение может выполнять пакетные задания, когда пользователь не находится на сайте. Срок действия токенов доступа составляет 3600 секунд (1 час). После этого ваше приложение должно обменять токен обновления на новый токен доступа.

Чтобы запросить офлайн-режим для веб-приложения, задайте для параметра access_type значение offline. Дополнительную информацию можно найти в руководстве по OAuth 2.0.

Для компьютерных приложений офлайн-режим включен по умолчанию, поэтому запрашивать его не нужно.

Заголовки запроса

Все запросы к Google Ads API должны содержать токен доступа OAuth 2.0 в заголовке запроса. В следующих разделах описано, как передавать эти учетные данные с помощью gRPC и REST.

Заголовки gRPC

При использовании gRPC API включайте токен доступа в каждый запрос. Вы можете связать Credential с Channel, чтобы использовать его для всех запросов в этом канале. Вы также можете отправлять для каждого звонка собственные учетные данные. Подробнее о том, как обрабатывать авторизацию, рассказывается в руководстве по авторизации gRPC.

Заголовки REST

При использовании REST API передайте токен доступа через HTTP-заголовок Authorization: Bearer <ACCESS_TOKEN>. Пример 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}" \