В этом документе описывается, как выполнить аутентификацию в Ad Manager API. Способ аутентификации зависит от используемого интерфейса и среды, в которой выполняется код, но все запросы к API должны включать токен доступа с областью действия Ad Manager API.
Клиентские библиотеки Менеджера рекламы используют Application Default Credentials для создания токенов доступа с областями действия Ad Manager API. В этом руководстве рассказывается, как настроить Application Default Credentials.
Если вы не используете клиентскую библиотеку, вам все равно нужно создать учетные данные и использовать их для авторизации запросов.
Подробную информацию об аутентификации и авторизации можно найти в руководстве по использованию OAuth 2.0.
Определите тип аутентификации
| Тип аутентификации | Описание |
|---|---|
| Сервисный аккаунт | Выберите этот вариант, если вы хотите выполнить аутентификацию как выделенный аккаунт, а не как определенный пользователь. Подробнее… |
| Веб-приложение | Выберите этот вариант, если вы хотите выполнять аутентификацию от имени любого пользователя, который предоставит вашему приложению разрешение на доступ к своим данным Менеджера рекламы. Подробнее… |
| Локальная разработка | Выберите этот вариант, если хотите выполнить аутентификацию в качестве собственного аккаунта Google или сервисного аккаунта из локальной среды разработки. |
Как включить Ad Manager API
Включите Ad Manager API в облачном проекте Google API Console.
Выберите существующий проект или создайте новый.
Создание учетных данных
Выберите вкладку с нужным типом аутентификации и следуйте инструкциям, чтобы создать учетные данные:
Сервисный аккаунт
В Google Cloud
Чтобы выполнить аутентификацию рабочей нагрузки, выполняемой в Google Cloud, используйте учетные данные сервисного аккаунта, прикрепленного к вычислительному ресурсу, на котором выполняется ваш код.
Например, вы можете прикрепить сервисный аккаунт к экземпляру виртуальной машины Compute Engine, сервису Cloud Run или заданию Dataflow. Этот подход является предпочтительным методом аутентификации для кода, выполняющегося на вычислительном ресурсе Google Cloud.
Чтобы узнать, к каким ресурсам можно подключить сервисный аккаунт, и получить помощь по подключению, ознакомьтесь с документацией по подключению сервисного аккаунта.
Локальная или у другого поставщика облачных сервисов
Рекомендуемый способ настройки аутентификации за пределами Google Cloud – использовать Workload Identity federation. Создайте файл конфигурации учетных данных и укажите его в переменной среды GOOGLE_APPLICATION_CREDENTIALS. Этот подход более безопасен, чем создание ключа сервисного аккаунта.
Если вы не можете настроить Workload Identity federation, создайте сервисный аккаунт и ключ для него.
На странице Credentials (Учетные данные) нажмите Create credentials (Создать учетные данные) и выберите Service Account (Сервисный аккаунт).
Нажмите на адрес электронной почты сервисного аккаунта, для которого нужно создать ключ.
Перейдите на вкладку Ключи.
В раскрывающемся меню Add key (Добавить ключ) выберите Create new key (Создать ключ).
В качестве типа ключа выберите JSON и нажмите Создать.
Укажите путь к файлу JSON в переменной среды
GOOGLE_APPLICATION_CREDENTIALS.
Linux или macOS
export GOOGLE_APPLICATION_CREDENTIALS=KEY_FILE_PATHWindows
set GOOGLE_APPLICATION_CREDENTIALS=KEY_FILE_PATHВеб-приложение
Если появится запрос, выберите проект, в котором вы включили Ad Manager API.
На странице "Учетные данные" нажмите Создать учетные данные и выберите Идентификатор клиента OAuth.
Выберите тип приложения Веб-приложение.
Заполните форму и нажмите Создать. Приложения, использующие такие языки и фреймворки, как PHP, Java, Python, Ruby и .NET, должны указывать авторизованные URI перенаправления. URI перенаправления – это конечные точки, на которые сервер OAuth 2.0 может отправлять ответы. Эти конечные точки должны соответствовать правилам проверки Google.
После создания учетных данных скачайте файл client_secret.json. Надежно сохраните файл в месте, доступном только вашему приложению.
Затем следуйте инструкциям по получению токенов доступа OAuth 2.0.
Локальная разработка
Настройте Application Default Credentials (ADC) в локальной среде.
Установите Google Cloud CLI, а затем инициализируйте его, выполнив следующую команду:
gcloud initСоздайте учетные данные для локальной аутентификации в аккаунте Google и укажите идентификатор проекта, в котором включен Ad Manager API.
gcloud auth application-default login --scopes="https://www.googleapis.com/auth/admanager"
gcloud auth application-default set-quota-project PROJECT_IDВы также можете выполнить аутентификацию в качестве сервисного аккаунта, задав для переменной среды GOOGLE_APPLICATION_CREDENTIALS путь к файлу ключа.
Linux или macOS
export GOOGLE_APPLICATION_CREDENTIALS=KEY_FILE_PATHWindows
set GOOGLE_APPLICATION_CREDENTIALS=KEY_FILE_PATHКак настроить сеть Менеджера рекламы
Сервисный аккаунт
- Перейдите в сеть Менеджера рекламы.
- Перейдите на вкладку Администратор.
- Убедитесь, что доступ к API включен.
- Нажмите кнопку Добавить пользователя аккаунта сервиса.
- Заполните форму, указав адрес электронной почты сервисного аккаунта. Пользователю сервисного аккаунта необходимо назначить роли и команды, которые требуются для интеграции API.
- Нажмите кнопку Сохранить. Должно появиться сообщение, подтверждающее добавление вашего сервисного аккаунта.
- Чтобы посмотреть список существующих пользователей сервисного аккаунта, перейдите на вкладку "Пользователи" и нажмите на фильтр Сервисный аккаунт.
Веб-приложение
- Перейдите в сеть Менеджера рекламы.
- Перейдите на вкладку Администратор.
- Убедитесь, что доступ к API включен.
Локальная разработка
- Перейдите в сеть Менеджера рекламы.
- Перейдите на вкладку Администратор.
- Убедитесь, что доступ к API включен.
Без клиентской библиотеки
Если вы не используете клиентскую библиотеку, мы настоятельно рекомендуем использовать для аутентификации библиотеку OAuth2.
Подробные инструкции по получению токенов доступа приведены в статье Использование OAuth 2.0 для доступа к API Google.
Токены доступа
Добавьте токен доступа в запрос к API, указав параметр запроса access_token или значение Bearer HTTP-заголовка Authorization.
По возможности используйте HTTP-заголовок, поскольку строки запроса обычно видны в журналах сервера.
Пример:
GET /v1/networks/1234
Host: admanager.googleapis.com
Authorization: Bearer ya29.a0Ad52N3_shYLX
GET https://admanager.googleapis.com/v1/networks/1234?access_token=1/fFAGRNJru1FTz70BzhT3Zg
Область действия
Каждый токен доступа связан с одной или несколькими областями действия. Область действия определяет набор ресурсов и операций, которые разрешены токеном доступа. Ad Manager API имеет две области действия. Если вашему приложению не нужно записывать данные, рекомендуем использовать более узкую область действия admanager.readonly.
| Область действия | Разрешения |
|---|---|
https://www.googleapis.com/auth/admanager |
Просмотр кампаний в Google Менеджере рекламы и управление ими |
https://www.googleapis.com/auth/admanager.readonly |
Просмотр ваших кампаний и данных в Google Менеджере рекламы |