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:
- Если вы ещё этого не сделали, создайте проект и включите платежный аккаунт, следуя инструкциям в статье Настройка в консоли Google Cloud.
- Установите и инициализируйте gcloud CLI.
Выполните на локальном компьютере следующую команду
gcloud, чтобы создать файл учетных данных:gcloud auth application-default login
- Появится экран входа. После входа ваши учетные данные сохраняются в локальном файле учетных данных, используемом 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, ознакомьтесь с разделом Учетные данные пользователя не работают.