Настроить и использовать OAuth

Все вызовы API локальных услуг должны быть авторизованы через OAuth 2.0 . Это позволяет клиентскому приложению API локальных услуг получать доступ к аккаунту пользователя в рекламе локальных услуг без необходимости обработки или хранения данных пользователя для входа.

API локальных служб использует протокол OAuth 2.0 для аутентификации пользователей. Подробнее об OAuth 2.0 см. в статье «Использование OAuth 2.0 для доступа к API Google» .

Настройте проект консоли API Google для API локальных служб

Для аутентификации и авторизации пользователей Google Ads вам необходимы учётные данные для доступа к серверам Google OAuth 2.0. Эти данные идентифицируют ваше приложение в Google и позволяют генерировать токены OAuth для управления пользователями Google Ads. Используйте консоль API Google для управления доступом к вашим учётным данным Google OAuth 2.0.

Чтобы получить эти учетные данные, выполните следующие действия:

  1. Создайте проект. Для этого перейдите в Google API Console . Нажмите «Создать проект» , введите имя и нажмите «Создать» .

  2. Включите API локальных служб в вашем проекте:

    1. Откройте библиотеку API в консоли Google API. При необходимости выберите свой проект или создайте новый. В библиотеке API представлен список всех доступных API, сгруппированных по семействам продуктов и популярности.

      Если API локальных служб не отображается в списке, воспользуйтесь строкой поиска, чтобы найти его.

    2. Выберите API локальных служб, затем нажмите Включить .

  3. Выберите тип приложения. API местных услуг использует те же типы приложений, что и API Google Рекламы. Подробнее о том, какой тип приложения использовать, см. в разделе «Выбор типа приложения» .

  4. Создайте идентификатор и секретный ключ клиента. Для API локальных услуг выполните те же действия, что и для API Google Рекламы. Действия идентичны для обоих вариантов использования.

Используйте клиентскую библиотеку для получения токенов OAuth 2.0

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

Как получить токен обновления OAuth 2.0

Мы рекомендуем использовать клиентские библиотеки для аутентификации пользователей в рабочей среде. Если вы хотите использовать HTTP-клиент для тестирования, следуйте инструкциям ниже, чтобы получить токен обновления OAuth 2.0 и токен доступа. Шаги 1, 2 и 3 — это одноразовые инструкции по настройке, которые необходимо выполнить вручную, а шаги 4 и 5 можно впоследствии автоматизировать для выполнения без участия человека, например, с помощью cron-задания.

  1. Загрузите и установите curl — инструмент командной строки для выполнения HTTP-запросов.

  2. Следуйте инструкциям на странице OAuth Playground , чтобы получить токен обновления OAuth 2.0. Используйте следующую область действия для Local Services API:

    https://www.googleapis.com/auth/adwords
    

    Это та же область действия OAuth 2.0, которая используется API Google Ads.

    В конце этого шага вы получите два токена: токен обновления и токен доступа. Сохраните оба.

  3. Выполните следующую команду в командной строке, чтобы убедиться, что предыдущий шаг был выполнен успешно:

    curl https://oauth2.googleapis.com/tokeninfo?access_token=<INSERT_ACCESS_TOKEN>
    

    Если вывод команды отображает сообщение, подобное следующему, то она выполнена успешно:

    {
      "azp": "************-********************************.apps.googleusercontent.com",
      "aud": "************-********************************.apps.googleusercontent.com",
      "scope": "https://www.googleapis.com/auth/adwords [googleapis.com]",
      "exp": "1611183382",
      "expires_in": "3482",
      "access_type": "offline"
    }
    

    Если возникла ошибка или область действия неверна, попробуйте сгенерировать токены еще раз.

  4. Сгенерируйте новый токен доступа без ручного вмешательства. Это важно, поскольку токены доступа истекают каждый час. Срок действия токенов обновления гораздо дольше, поэтому вам часто приходится вручную отзывать их, когда они больше не нужны.

    Чтобы получить новый токен доступа, выполните следующую команду:

    curl --data "refresh_token=<INSERT_REFRESH_TOKEN>&client_id=<INSERT_CLIENT_ID>&client_secret=<INSERT_CLIENT_SECRET>&grant_type=refresh_token" -X POST "https://oauth2.googleapis.com/token”
    
  5. Выполните следующий вызов API:

    curl -H "Authorization: Bearer <INSERT_ACCESS_TOKEN>" https://localservices.googleapis.com/v1/accountReports:search?query=manager_customer_id:<INSERT_10_DIGIT_MANAGER_CUSTOMER_ID_WITHOUT_HYPHENS>
    

    Если этот вызов успешен, ваша настройка завершена.