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

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

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

Подготовка

Чтобы начать работу, вам потребуется создать проект с платежным аккаунтом и включенным Map Management API. Чтобы в вашей команде всегда был хотя бы один специалист с нужными полномочиями, создайте сразу несколько владельцев проекта и администраторов платежного аккаунта. Инструкции вы можете найти в статье Настройки в Google 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. Если вы ещё этого не сделали, создайте проект и включите платежный аккаунт, следуя инструкциям в статье Настройка в консоли Google Cloud.
  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, ознакомьтесь с разделом Учетные данные пользователя не работают.