Для вызова 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 или 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