Authentication

В этом документе описывается, как выполнить аутентификацию в Ad Manager API. Способ аутентификации зависит от используемого интерфейса и среды, в которой выполняется код, но все запросы к API должны включать токен доступа с областью действия Ad Manager API.

Клиентские библиотеки Менеджера рекламы используют Application Default Credentials для создания токенов доступа с областями действия Ad Manager API. В этом руководстве рассказывается, как настроить Application Default Credentials.

Если вы не используете клиентскую библиотеку, вам все равно нужно создать учетные данные и использовать их для авторизации запросов.

Подробную информацию об аутентификации и авторизации можно найти в руководстве по использованию OAuth 2.0.

Определите тип аутентификации

Тип аутентификации Описание
Сервисный аккаунт Выберите этот вариант, если вы хотите выполнить аутентификацию как выделенный аккаунт, а не как определенный пользователь.
Подробнее…
Веб-приложение Выберите этот вариант, если вы хотите выполнять аутентификацию от имени любого пользователя, который предоставит вашему приложению разрешение на доступ к своим данным Менеджера рекламы.
Подробнее…
Локальная разработка Выберите этот вариант, если хотите выполнить аутентификацию в качестве собственного аккаунта Google или сервисного аккаунта из локальной среды разработки.

Как включить Ad Manager API

  1. Включите Ad Manager API в облачном проекте Google API Console.

  2. Выберите существующий проект или создайте новый.

Создание учетных данных

Выберите вкладку с нужным типом аутентификации и следуйте инструкциям, чтобы создать учетные данные:

Сервисный аккаунт

В Google Cloud

Чтобы выполнить аутентификацию рабочей нагрузки, выполняемой в Google Cloud, используйте учетные данные сервисного аккаунта, прикрепленного к вычислительному ресурсу, на котором выполняется ваш код.

Например, вы можете прикрепить сервисный аккаунт к экземпляру виртуальной машины Compute Engine, сервису Cloud Run или заданию Dataflow. Этот подход является предпочтительным методом аутентификации для кода, выполняющегося на вычислительном ресурсе Google Cloud.

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

Локальная или у другого поставщика облачных сервисов

Рекомендуемый способ настройки аутентификации за пределами Google Cloud – использовать Workload Identity federation. Создайте файл конфигурации учетных данных и укажите его в переменной среды GOOGLE_APPLICATION_CREDENTIALS. Этот подход более безопасен, чем создание ключа сервисного аккаунта.

Если вы не можете настроить Workload Identity federation, создайте сервисный аккаунт и ключ для него.

  1. Откройте страницу Учетные данные в Google API Console.

  2. На странице Credentials (Учетные данные) нажмите Create credentials (Создать учетные данные) и выберите Service Account (Сервисный аккаунт).

  3. Нажмите на адрес электронной почты сервисного аккаунта, для которого нужно создать ключ.

  4. Перейдите на вкладку Ключи.

  5. В раскрывающемся меню Add key (Добавить ключ) выберите Create new key (Создать ключ).

  6. В качестве типа ключа выберите JSON и нажмите Создать.

  7. Укажите путь к файлу JSON в переменной среды GOOGLE_APPLICATION_CREDENTIALS.

Linux или macOS

export GOOGLE_APPLICATION_CREDENTIALS=KEY_FILE_PATH

Windows

set GOOGLE_APPLICATION_CREDENTIALS=KEY_FILE_PATH

Веб-приложение

  1. Откройте страницу Учетные данные в Google API Console.

  2. Если появится запрос, выберите проект, в котором вы включили Ad Manager API.

  3. На странице "Учетные данные" нажмите Создать учетные данные и выберите Идентификатор клиента OAuth.

  4. Выберите тип приложения Веб-приложение.

  5. Заполните форму и нажмите Создать. Приложения, использующие такие языки и фреймворки, как PHP, Java, Python, Ruby и .NET, должны указывать авторизованные URI перенаправления. URI перенаправления – это конечные точки, на которые сервер OAuth 2.0 может отправлять ответы. Эти конечные точки должны соответствовать правилам проверки Google.

  6. После создания учетных данных скачайте файл 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_PATH

Windows

set GOOGLE_APPLICATION_CREDENTIALS=KEY_FILE_PATH

Как настроить сеть Менеджера рекламы

Сервисный аккаунт

  1. Перейдите в сеть Менеджера рекламы.
  2. Перейдите на вкладку Администратор.
  3. Убедитесь, что доступ к API включен.
  4. Нажмите кнопку Добавить пользователя аккаунта сервиса.
  5. Заполните форму, указав адрес электронной почты сервисного аккаунта. Пользователю сервисного аккаунта необходимо назначить роли и команды, которые требуются для интеграции API.
  6. Нажмите кнопку Сохранить. Должно появиться сообщение, подтверждающее добавление вашего сервисного аккаунта.
  7. Чтобы посмотреть список существующих пользователей сервисного аккаунта, перейдите на вкладку "Пользователи" и нажмите на фильтр Сервисный аккаунт.

Веб-приложение

  1. Перейдите в сеть Менеджера рекламы.
  2. Перейдите на вкладку Администратор.
  3. Убедитесь, что доступ к API включен.

Локальная разработка

  1. Перейдите в сеть Менеджера рекламы.
  2. Перейдите на вкладку Администратор.
  3. Убедитесь, что доступ к 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 Менеджере рекламы