Использовать OAuth

Разработчики Европейской экономической зоны (ЕЭЗ)

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

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

Прежде чем начать

Прежде чем начать использовать API проверки адресов, вам нужен проект с учетной записью выставления счетов и включенным API проверки адресов. Мы рекомендуем создать несколько владельцев проекта и администраторов выставления счетов, чтобы у вас всегда был кто-то с этими ролями, доступный для вашей команды. Чтобы узнать больше, см. Настройка в Cloud Console .

О OAuth

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

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

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

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

Чтобы использовать OAuth с API проверки адресов, токену OAuth необходимо назначить область действия:

  • https://www.googleapis.com/auth/cloud-platform

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

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

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

Предпосылки

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

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

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

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

Сделайте 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 .

В следующем примере выполняется вызов API проверки адреса с использованием токена OAuth:

curl -X POST -d '{
  "address": {
    "regionCode": "US",
    "locality": "Mountain View",
    "addressLines": ["1600 Amphitheatre Pkwy"]
  }
}' \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
-H "X-Goog-User-Project: PROJECT_ID" \
"https://addressvalidation.googleapis.com/v1:validateAddress"

Поиск неисправностей

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