Авторизация и заголовки HTTP

Для вызова API Google Ads вам потребуются как учётные данные OAuth 2.0, так и токен разработчика . Если вы совершаете вызовы API из аккаунта менеджера Google Ads, вам также необходимо указывать заголовок login-customer-id в каждом запросе. На этой странице описывается, как задать эти значения, а также документируются несколько дополнительных HTTP-заголовков, специфичных для API, которые отправляются и принимаются при использовании интерфейса REST.

Учетные данные OAuth 2.0

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

Если вы новичок в API Google, вы можете использовать gcloud CLI или OAuth 2.0 Playground , чтобы поэкспериментировать с учетными данными OAuth 2.0 и API Google Ads перед написанием кода для своего приложения.

Для реализации авторизации OAuth 2.0 мы рекомендуем использовать одну из библиотек OAuth 2.0, доступных по адресу https://oauth.net/code/ . Однако мы также привели инструкции по использованию curl на случай, если вам потребуется реализовать это самостоятельно.

Учетные записи служб

Следуйте инструкциям по настройке проекта Google Cloud для API Google Ads . Запишите адрес электронной почты и ключ учётной записи сервиса. Затем следуйте общим инструкциям из руководства по учётным записям сервисов , чтобы настроить учётную запись сервиса для доступа к вашей учётной записи Google Ads.

Аутентификация пользователя

Следуйте инструкциям по настройке проекта Google Cloud Console для API Google Ads . Запишите идентификатор клиента и секретный ключ клиента . Затем следуйте инструкциям для настольного приложения или веб-приложения, чтобы сгенерировать токен обновления и токен доступа . scope действия для доступа к API Google Ads: https://www.googleapis.com/auth/adwords .

Сгенерировать новые токены доступа

Учетные записи служб

Если у вас есть адрес электронной почты и ключ учётной записи сервиса, следуйте руководству «Использование OAuth 2.0 для межсерверных приложений» , чтобы создать набор утверждений JWT , который затем можно обменять для получения токена доступа OAuth 2.0. При выполнении руководства обязательно выберите вкладку HTTP/REST . scope действия OAuth 2.0 для доступа к API Google Рекламы — https://www.googleapis.com/auth/adwords . Кроме того, вы можете пропустить sub при создании набора утверждений JWT, поскольку этапы настройки предоставляют учётной записи сервиса прямой доступ к аккаунту Google Рекламы, что избавляет от необходимости выдавать себя за пользователя Google Рекламы.

Затем вы используете токен доступа в заголовке HTTP Authorization каждого вызова API к API Google Ads:

GET /v22/customers:listAccessibleCustomers HTTP/1.1
Host: googleads.googleapis.com
Authorization: Bearer ACCESS_TOKEN
developer-token: DEVELOPER_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 каждого вызова API к API Google Ads:

GET /v22/customers:listAccessibleCustomers HTTP/1.1
Host: googleads.googleapis.com
Authorization: Bearer ACCESS_TOKEN
developer-token: DEVELOPER_TOKEN

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

Токен разработчика

Для API Google Ads также требуется токен разработчика для выполнения вызовов. Если у вас уже есть токен разработчика, вы можете найти его по адресу https://ads.google.com/aw/apicenter . При необходимости войдите в свой аккаунт менеджера Google Ads. Если у вас его нет, следуйте инструкциям по регистрации токена разработчика .

Вам необходимо включить значение вашего токена разработчика в HTTP-заголовок developer-token каждого вызова API к API Google Ads:

GET /v22/customers:listAccessibleCustomers HTTP/1.1
Host: googleads.googleapis.com
Authorization: Bearer ACCESS_TOKEN
developer-token: DEVELOPER_TOKEN

Идентификатор клиента для входа

Для вызовов API Google Рекламы, выполняемых менеджером к клиентскому аккаунту (то есть при входе в систему как менеджер для выполнения вызовов API к одному из своих клиентских аккаунтов), необходимо также предоставить HTTP-заголовок login-customer-id . Это значение представляет собой идентификатор клиента Google Рекламы менеджера, выполняющего вызов API.

Включение этого заголовка эквивалентно выбору аккаунта в интерфейсе Google Ads после входа в систему или нажатия на изображение профиля в правом верхнем углу страницы. При указании идентификатора клиента обязательно удалите все дефисы (—). Например: 1234567890 , а не 123-456-7890 . Подробнее об идентификаторе клиента для входа см. в руководстве по модели доступа Google Ads .

GET /v22/customers:listAccessibleCustomers HTTP/1.1
Host: googleads.googleapis.com
Authorization: Bearer ACCESS_TOKEN
developer-token: DEVELOPER_TOKEN
login-customer-id: MANAGER_CUSTOMER_ID

Связанный идентификатор клиента

Заголовок «Связанный идентификатор клиента» используется только сторонними поставщиками аналитики приложений при загрузке конверсий в связанный аккаунт Google Ads . Подробнее см. в руководстве по структуре вызовов API .

...
Authorization: Bearer ACCESS_TOKEN
developer-token: DEVELOPER_TOKEN
login-customer-id: MANAGER_CUSTOMER_ID
linked-customer-id: LINKED_CUSTOMER_ID

Заголовки ответа

В HTTP-ответах от API возвращаются следующие заголовки.

Запрос идентификатора

request-id — это строка, которая однозначно идентифицирует запрос API. При отладке или устранении неполадок с определёнными вызовами API идентификатор request-id — важный идентификатор, который необходимо иметь под рукой при обращении в службу поддержки разработчиков Google.

request-id: 2a5Cj89VV7CNhya1DZjjrC