В этом документе описаны шаги, необходимые для начала использования API геокодирования.
| Убедитесь, что вы соответствуете всем предварительным требованиям. | Включите API в своем проекте Google Cloud. | Для выполнения аутентифицированных запросов к API необходимо настроить ключ API или использовать OAuth. |
Продукты платформы Google Maps защищены от несанкционированного использования за счет того, что вызовы API должны включать либо ключ API , либо токен OAuth .
Создайте токен OAuth.
API геокодирования поддерживает использование OAuth 2.0 для аутентификации. Google поддерживает распространенные сценарии OAuth 2.0, например, для веб-сервера.
В этом документе описывается, как передать токен OAuth в вызов API геокодирования в вашей среде разработки . Инструкции по использованию OAuth в производственной среде см. в разделе «Методы аутентификации» на сайте Google .
О протоколе OAuth
Существует множество способов создания и управления токенами доступа с помощью OAuth, в зависимости от вашей среды развертывания.
Например, система Google OAuth 2.0 поддерживает взаимодействие между серверами, например, между вашим приложением и сервисом Google. Для этого сценария вам потребуется сервисный аккаунт, который принадлежит вашему приложению, а не отдельному конечному пользователю. Ваше приложение вызывает API Google от имени сервисного аккаунта, поэтому пользователи напрямую не участвуют в процессе. Дополнительную информацию о методах аутентификации см. в разделе «Методы аутентификации в Google» .
В качестве альтернативы вы можете использовать API геокодирования в составе мобильного приложения для Android или iOS. Общую информацию об использовании OAuth с API геокодирования, включая информацию об управлении токенами доступа для различных сред развертывания, см. в разделе «Использование 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 геокодирования. Эта область действия полезна во время разработки, поскольку она используется по умолчанию при создании токенов с помощью gcloud .
Пример: Попробуйте выполнить вызовы REST API в вашей локальной среде разработки.
Если вы хотите попробовать API геокодирования, используя токен OAuth, но у вас нет среды, настроенной для генерации токенов, вы можете использовать процедуру, описанную в этом разделе, для выполнения вызова.
В этом примере описывается, как использовать токен OAuth, предоставляемый Application Default Credentials (ADC), для выполнения вызова. Информацию об использовании ADC для вызова API Google с помощью клиентских библиотек см. в разделе «Аутентификация с помощью клиентских библиотек» .
Предварительные требования
Прежде чем отправлять REST-запросы через ADC, воспользуйтесь интерфейсом командной строки Google Cloud, чтобы предоставить ADC учетные данные:
- Установите и инициализируйте интерфейс командной строки 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/v4beta/geocode/address/1600+Amphitheatre+Parkway,+Mountain+View,+CA"
- Нажмите на значок копирования в примере кода.
чтобы скопировать команду curl. - Вставьте команду в окно терминала и выполните её.
В ответ приходит JSON-объект:
Поиск неисправностей
Если ваш запрос возвращает сообщение об ошибке, указывающее на то, что учетные данные конечного пользователя не поддерживаются этим API, см. раздел «Устранение неполадок при настройке АЦП» .