Как использовать OAuth

Map Management API поддерживает аутентификацию с помощью OAuth 2.0. Google поддерживает распространенные сценарии OAuth 2.0, например для веб-сервера.

В этом документе описывается, как передать токен OAuth в вызов Map Management API в среде разработки. Инструкции по использованию OAuth в рабочей среде приведены в статье Аутентификация в Google.

Подготовка

Чтобы начать работу, вам потребуется создать проект с платежным аккаунтом и включенным Map Management API. Подробнее о настройке в Cloud Console…

Общие сведения об OAuth

Создавать токены доступа с помощью OAuth и управлять ими можно разными способами в зависимости от среды развертывания.

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

Вы также можете использовать Map Management API в мобильном приложении для Android или iOS. Подробную информацию об использовании OAuth с Map Management API, в том числе об управлении токенами доступа для разных сред развертывания, можно найти в статье Использование OAuth 2.0 для доступа к API Google.

Об областях действия OAuth

Чтобы использовать OAuth с Map Management API, токен OAuth должен иметь область действия https://www.googleapis.com/auth/cloud-platform.

Попробуйте вызовы REST API в локальной среде разработки

Если вы хотите попробовать Map Management API с токеном OAuth, но у вас нет среды для создания токенов, вы можете выполнить вызов, следуя инструкциям в этом разделе.

В этом примере показано, как использовать токен OAuth, предоставленный Application Default Credentials (ADC), чтобы выполнить вызов. Дополнительную информацию о том, как использовать ADC для вызова API Google с помощью клиентских библиотек, можно найти в статье Аутентификация с помощью клиентских библиотек.

Требования

Прежде чем отправлять REST-запрос с помощью ADC, предоставьте ADC учетные данные, используя Google Cloud CLI.

  1. Если вы ещё этого не сделали, создайте проект и включите платежные функции, следуя инструкциям в статье Настройка в Cloud Console.
  2. Установите и инициализируйте gcloud CLI.
  3. Чтобы создать файл учетных данных, выполните на локальном компьютере команду gcloud:

    gcloud auth application-default login
  4. При необходимости войдите в аккаунт. После входа ваши учетные данные сохраняются в локальном файле учетных данных, используемом ADC.

Дополнительную информацию можно найти в разделе Локальная среда разработки документации Предоставление учетных данных для Application Default Credentials.

Как выполнить REST-запрос

В этом примере вы передаете два заголовка запроса:

  • Передайте токен OAuth в заголовке Authorization, используя следующую команду для создания токена:

    gcloud auth application-default print-access-token

    Возвращенный токен имеет область действия https://www.googleapis.com/auth/cloud-platform.

  • Передайте идентификатор или название проекта Google Cloud, для которого включены платежные функции, в заголовке X-Goog-User-Project. Подробнее о настройке в Cloud Console…

Вызовите Map Management API с помощью токена OAuth:

curl -X GET \
-H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
-H "X-Goog-User-Project: PROJECT_ID" \
https://mapmanagement.googleapis.com/v2beta/projects/PROJECT_NUMBER_OR_ID/mapConfigs/

Устранение неполадок

Если в ответ на запрос вы получаете сообщение об ошибке о том, что учетные данные пользователя не поддерживаются этим API, ознакомьтесь с разделом Учетные данные пользователя не работают.