В этом руководстве описывается, как получить доступ к Google Ads API с помощью сервисных аккаунтов.
Учетная запись службы — это учетная запись, принадлежащая вашему приложению, а не отдельному конечному пользователю. Учетные записи служб обеспечивают межсерверное взаимодействие между веб-приложением и службой Google. Ваше приложение вызывает API Google от имени учетной записи службы, поэтому пользователи не участвуют напрямую.
Учетные записи служб используют поток OAuth2, который не требует авторизации человека, вместо этого используется файл ключа, к которому имеет доступ только ваше приложение.
Использование сервисных учетных записей дает два ключевых преимущества:
- Авторизация доступа к Google API выполняется на этапе настройки, что позволяет избежать сложностей, связанных с другими потоками OAuth2, требующими взаимодействия с пользователем.
- Поток утверждений OAuth2 позволяет вашему приложению при необходимости выдавать себя за других пользователей.
Для потока классического приложения OAuth2 вы можете сохранить токен обновления (срок действия которого никогда не истекает), чтобы при необходимости получать новый токен доступа. При использовании одной из наших клиентских библиотек вы можете авторизовать свое приложение, заполнив файл конфигурации.
Предварительные условия
- Домен Google Workspace , которым вы владеете, например
mydomain.com
илиmybusiness.com
. - Токен разработчика API Google Рекламы и, при необходимости, тестовый аккаунт.
- Клиентская библиотека для используемого вами языка.
- Проект Google Cloud, настроенный для Google Ads API .
- Пользователь Google Рекламы с разрешениями для аккаунта Google Рекламы, к которому вы хотите получить доступ. Google Реклама не поддерживает использование сервисных аккаунтов без выдачи себя за другое лицо.
Настройка доступа к сервисному аккаунту
Поскольку олицетворение пользователя контролируется только на уровне домена, для использования учетных записей служб и потока утверждений с помощью Google OAuth2 вам потребуется зарегистрировать собственный домен в Google Workspace. После этого ваше приложение и его пользователи смогут выдавать себя за любого пользователя в домене.
Начните с создания учетной записи службы и учетных данных .
Загрузите ключ учетной записи службы в формате JSON и запишите идентификатор учетной записи службы.
Сообщите идентификатор сервисного аккаунта и область действия Google Ads API (
https://www.googleapis.com/auth/adwords
) администратору своего домена.Попросите администратора домена делегировать полномочия на уровне домена вашему сервисному аккаунту.
Если вы являетесь администратором домена, следуйте инструкциям Справочного центра .
Теперь вы можете использовать сервисный аккаунт для доступа к своему аккаунту Google Рекламы с помощью потока утверждений OAuth2.
Конфигурация клиентской библиотеки
Выберите язык, чтобы получить инструкции по настройке клиентской библиотеки.
Ява
.СЕТЬ
Питон
PHP
Руби
Перл
Проблемы безопасности
Поскольку служебный аккаунт имеет управление делегированием на уровне домена для вашего домена Google Workspace, важно защитить файл ключа, который позволяет служебному аккаунту получать доступ к сервисам Google, для которых он авторизован. Это особенно верно, поскольку эта учетная запись службы может выдавать себя за любого пользователя в домене.
Еще одна хорошая практика — разрешить учетным записям служб доступ только к минимально необходимому набору API. Это упреждающая мера, позволяющая ограничить объем данных, к которым может получить доступ злоумышленник, если ключевой файл служебной учетной записи скомпрометирован.