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