Для вызова Google Ads API необходимы учетные данные OAuth 2.0. Если вы выполняете вызовы API с помощью управляющего аккаунта Google Рекламы, то в каждом запросе также необходимо указывать заголовок login-customer-id. На этой странице рассказывается, как задавать эти значения, и описаны дополнительные HTTP-заголовки, которые отправляются и принимаются при использовании интерфейса REST.
Учетные данные OAuth 2.0
Google Ads API использует OAuth 2.0 для авторизации запросов к API. Поддерживаются как поток аутентификации пользователя OAuth 2.0, так и поток сервисного аккаунта. Подробнее об OAuth 2.0 в Google Ads API…
Если вы только начинаете работать с API Google, то можете использовать gcloud CLI или OAuth 2.0 Playground, чтобы поэкспериментировать с учетными данными OAuth 2.0 и Google Ads API, прежде чем писать код для своего приложения.
Для реализации рабочих процессов авторизации OAuth 2.0 рекомендуем использовать одну из библиотек OAuth 2.0, доступных на странице https://oauth.net/code/. Однако мы привели инструкции по использованию curl на случай, если вам потребуется реализовать это самостоятельно.
Сервисные аккаунты
Выполните инструкции по настройке проекта Google Cloud для Google Ads API. Запишите адрес электронной почты сервисного аккаунта и ключ сервисного аккаунта. Затем следуйте общим инструкциям в руководстве по сервисным аккаунтам, чтобы настроить сервисный аккаунт для доступа к аккаунту Google Рекламы.
Аутентификация пользователей
Выполните инструкции по настройке проекта консоли Google Cloud для Google Ads API. Запишите идентификатор клиента и секретный код клиента. Затем следуйте инструкциям для компьютерного приложения или веб-приложения, чтобы создать токен обновления и токен доступа. Для доступа к Google Ads API используйте scope https://www.googleapis.com/auth/adwords.
Создать новые токены доступа
Сервисные аккаунты
Получив адрес электронной почты сервисного аккаунта и ключ сервисного аккаунта, следуйте инструкциям в руководстве Использование OAuth 2.0 для серверных приложений, чтобы создать набор утверждений JWT, который затем можно обменять на токен доступа OAuth 2.0. При выполнении инструкций убедитесь, что выбрана вкладка HTTP/REST. scope OAuth 2.0, используемая для доступа к Google Ads API, – https://www.googleapis.com/auth/adwords. Кроме того, при создании набора утверждений JWT можно пропустить параметр sub, поскольку в результате настройки сервисный аккаунт получит прямой доступ к аккаунту Google Рекламы и ему не потребуется выдавать себя за пользователя Google Рекламы.
Затем вы используете токен доступа в заголовке HTTP Authorization каждого вызова Google Ads API:
GET /v26/customers:listAccessibleCustomers HTTP/1.1
Host: googleads.googleapis.com
Authorization: Bearer ACCESS_TOKEN
Аутентификация пользователей
Получив идентификатор клиента, секретный код клиента и токен обновления OAuth 2.0, вы можете сгенерировать новый токен доступа для вызовов API с помощью инструмента командной строки curl:
curl \
--data "grant_type=refresh_token" \
--data "client_id=CLIENT_ID" \
--data "client_secret=CLIENT_SECRET" \
--data "refresh_token=REFRESH_TOKEN" \
https://www.googleapis.com/oauth2/v3/tokenЗатем вы используете токен доступа, возвращенный запросом curl, в HTTP-заголовке Authorization каждого вызова Google Ads API:
GET /v26/customers:listAccessibleCustomers HTTP/1.1
Host: googleads.googleapis.com
Authorization: Bearer ACCESS_TOKEN
Заголовки запроса
В следующих разделах описаны заголовки HTTP, которые требуются или используются при отправке запросов к Google Ads API.
Идентификатор клиента для входа
Для вызовов Google Ads API, которые управляющий аккаунт отправляет в клиентский (то есть когда вы входите в управляющий аккаунт, чтобы отправить вызовы API в один из его клиентских аккаунтов), также необходимо указать HTTP-заголовок login-customer-id. Это значение представляет собой идентификатор клиента Google Рекламы для управляющего аккаунта, который выполняет вызов API.
Добавление этого заголовка эквивалентно выбору аккаунта в интерфейсе Google Рекламы после входа или нажатия на изображение профиля в правом верхнем углу страницы. При указании идентификатора клиента не используйте дефисы (—). Например, 1234567890, а не 123-456-7890. Подробную информацию об идентификаторе клиента для входа можно найти в руководстве по модели доступа Google Рекламы.
GET /v26/customers:listAccessibleCustomers HTTP/1.1
Host: googleads.googleapis.com
Authorization: Bearer ACCESS_TOKEN
login-customer-id: MANAGER_CUSTOMER_ID
Связанный идентификатор клиента
Заголовок Linked customer ID используется партнерами (например, сторонними поставщиками аналитики приложений или партнерами по обработке данных) при работе со связанным аккаунтом Google Рекламы. Подробная информация приведена в руководстве по структуре вызовов API.
Authorization: Bearer ACCESS_TOKEN
login-customer-id: PARTNER_CUSTOMER_ID
linked-customer-id: ADVERTISER_CUSTOMER_ID
Заголовки ответа
В HTTP-ответах от API возвращаются следующие заголовки:
Идентификатор запроса
request-id – строка, которая однозначно идентифицирует запрос к API. При отладке или устранении неполадок с определенными вызовами API request-id является важным идентификатором, который необходимо иметь под рукой при обращении в службу поддержки Google Developers.
request-id: 2a5Cj89VV7CNhya1DZjjrC