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

Видео: Аутентификация

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

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

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

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

Использование потоков настольных или веб-приложений

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

После создания клиента OAuth следуйте инструкциям по созданию настольного приложения или веб-приложения, чтобы сгенерировать токен обновления и токен доступа .

Использование учетных записей служб

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

После настройки сервисного аккаунта для доступа к аккаунту Google Ads следуйте руководству «Использование OAuth 2.0 для межсерверных приложений» , выбрав вкладку HTTP/REST . Для доступа к API Google Ads используйте scope https://www.googleapis.com/auth/adwords .

Генерация новых токенов доступа

Получив идентификатор клиента , секрет клиента и токен обновления , вы можете сгенерировать новый токен доступа для использования в вызовах 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 /v21/customers:listAccessibleCustomers HTTP/1.1
Host: googleads.googleapis.com
Authorization: Bearer ACCESS_TOKEN
developer-token: DEVELOPER_TOKEN

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

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

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

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

GET /v21/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 .

GET /v21/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