Внутреннее устройство OAuth 2.0 для API Google Ads

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

Объем

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

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

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

Доступ в автономном режиме

Для клиентских приложений Google Ads API часто требуется доступ в автономном режиме. Например, ваше приложение может захотеть запускать пакетные задания, когда пользователь физически не находится в сети и не просматривает ваш веб-сайт.

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

Для настольных приложений автономный доступ включен по умолчанию — вам не нужно явно запрашивать его.

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

заголовки gRPC

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

REST-заголовки

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