В этом документе описаны шаги, необходимые для начала использования API геокодирования.
| Убедитесь, что вы соответствуете необходимым требованиям. | Включите API в своем проекте Google Cloud. | Для выполнения аутентифицированных запросов к API необходимо настроить ключ API или использовать OAuth. |
Для предотвращения несанкционированного использования продуктов Google Maps Platform необходимо, чтобы вызовы API включали либо ключ API, либо токен OAuth. Вы можете выбрать процедуру настройки, соответствующую вашей среде развертывания.
Создайте токен OAuth.
API геокодирования поддерживает аутентификацию OAuth 2.0. Google поддерживает распространенные сценарии OAuth 2.0, например, сценарии для веб-сервера.
В этом документе описывается, как передать токен OAuth в вызов API геокодирования в вашей среде разработки. Дополнительную информацию об использовании OAuth в производственной среде см. в разделе «Методы аутентификации в Google» .
Вы можете напрямую обращаться к API Google Maps, отправляя запросы к серверу, или использовать клиентские библиотеки для упрощения кода. Google Maps предоставляет клиентские библиотеки для Go, Java, Node.js и Python. Для получения дополнительной информации см. раздел «Клиентские библиотеки API геокодирования» .
Обзор OAuth
В зависимости от вашей среды развертывания, создавать и управлять токенами доступа с помощью OAuth можно несколькими способами.
Для взаимодействия между вашим приложением и сервисом Google на уровне сервера можно использовать OAuth 2.0. В этом случае используется учетная запись сервиса, связанная с вашим приложением, а не отдельный пользователь. Вы можете отправлять API-запросы, используя учетную запись сервиса, без прямого участия пользователей. Дополнительную информацию о методах аутентификации см. в разделе «Методы аутентификации» на сайте Google .
В качестве альтернативы вы можете интегрировать API геокодирования в мобильное приложение для Android или iOS. Для получения дополнительной информации об использовании OAuth и управлении токенами доступа для различных сред развертывания см. раздел «Использование OAuth 2.0 для доступа к API Google» .
Области действия OAuth
Для использования OAuth с API геокодирования необходимо присвоить токену OAuth правильную область действия (scope). API геокодирования поддерживает следующие области действия:
-
https://www.googleapis.com/auth/maps-platform.geocode— Используйте со всеми методами API геокодирования. -
https://www.googleapis.com/auth/maps-platform.geocode.address— Используйте только сGeocodeAddressдля прямого геокодирования. -
https://www.googleapis.com/auth/maps-platform.geocode.location— Используйте только сGeocodeLocationдля обратного геокодирования. -
https://www.googleapis.com/auth/maps-platform.geocode.place— Используйте только сGeocodePlaceдля геокодирования мест.
Вы также можете использовать общую область действия https://www.googleapis.com/auth/cloud-platform для всех методов API геокодирования. Эта область действия полезна во время разработки, поскольку она является областью действия по умолчанию при создании токенов с помощью CLI gcloud .
Пример: Попробуйте выполнить вызовы REST API в вашей локальной среде разработки.
Если у вас нет среды, генерирующей токены, и вы хотите попробовать использовать API геокодирования с токеном OAuth, воспользуйтесь процедурой, описанной в этом разделе.
В этом примере описывается, как использовать токен OAuth, предоставляемый Application Default Credentials (ADC), для выполнения вызова. Дополнительную информацию об использовании ADC для вызова API Google с помощью клиентских библиотек см. в разделе «Аутентификация с использованием клиентских библиотек» .
Приведенную ниже REST-процедуру следует использовать только для разработки или тестирования, а не для производственной среды.
Предварительные требования
Перед отправкой REST-запроса через ADC воспользуйтесь интерфейсом командной строки gcloud , чтобы предоставить ADC учетные данные:
Установите и инициализируйте интерфейс командной строки
gcloud. Для получения дополнительной информации см. раздел «Установка интерфейса командной строки gcloud» .Аутентификация с помощью интерфейса командной строки
gcloud:gcloud auth application-default login
Завершите процесс входа в систему, чтобы сохранить свои учетные данные в локальном файле учетных данных, используемом ADC .
Для получения дополнительной информации см. раздел «Настройка АЦП для локальной среды разработки» .
Отправьте REST-запрос
В этом примере вы передаете два заголовка запроса:
Передайте токен OAuth в заголовке
Authorization, используя следующую команду для генерации токена:gcloud auth application-default print-access-tokenВозвращаемый токен имеет область действия
https://www.googleapis.com/auth/cloud-platform.Передайте идентификатор или название вашего проекта Google Cloud, в котором включена оплата, в заголовке
X-Goog-User-Project.
Для вызова API геокодирования с использованием токена OAuth выполните следующие шаги:
В приведенном ниже примере кода замените PROJECT_ID на идентификатор вашего проекта Google Cloud:
curl -X GET -H 'Content-Type: application/json' \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "X-Goog-User-Project: PROJECT_ID" \ "https://geocode.googleapis.com/v4/geocode/address/1600+Amphitheatre+Parkway,+Mountain+View,+CA"
Чтобы скопировать команду
curl, нажмите кнопку «Копировать» в примере кода.Вставьте команду в окно терминала, а затем запустите её.
Поиск неисправностей
Если ваш запрос возвращает сообщение об ошибке, указывающее на то, что данный API не поддерживает учетные данные конечного пользователя, см. раздел «Устранение неполадок при настройке АЦП» .