Для авторизации ваших запросов к annotatePaths
требуется учетная запись службы в белом списке для соответствующего проекта Google Cloud. Затем вы можете выдать себя за учетную запись службы и создать токен OAuth, который передается в качестве заголовка в запросах.
Настройка учетной записи службы
Поскольку только учетным записям служб из белого списка разрешено вызывать annotatePaths
, вы должны действовать как учетная запись службы , олицетворяя учетную запись службы .
Следуйте инструкциям в разделе Создание учетной записи службы . Электронная почта учетной записи службы имеет следующий общий формат:
SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com
Отправьте электронное письмо с учетной записью службы своему бизнес-представителю Google. Ваш представитель добавляет этот сервисный аккаунт в белый список, которому разрешено вызывать
annotatePaths
.
Добавьте пользователей, которые могут выдавать себя за учетную запись службы.
Добавьте пользователя, который имеет право выдавать себя за учетную запись службы :
gcloud iam service-accounts add-iam-policy-binding \
SERVICE_ACCOUNT \
--member=user:USER_EMAIL \
--role=roles/iam.serviceAccountTokenCreator \
--project=PROJECT_ID
Вы также можете добавить пользователей, которым разрешено выдавать себя за учетную запись службы, через Cloud Console. См. Создание учетной записи службы .
Устранение неполадок в случае сбоя команды
Если эта команда не удалась, попросите владельца проекта либо выполнить команду за вас, либо предоставить вам roles/iam.serviceAccountAdmin
в учетной записи службы, выполнив:
gcloud iam service-accounts add-iam-policy-binding \ SERVICE_ACCOUNT \ --member=USER_EMAIL \ --role=roles/iam.serviceAccountAdmin \ --project=PROJECT_ID
Создайте недолговечный токен OAuth.
Если вы хотите настроить annotatePaths
с использованием токена OAuth, но у вас нет настройки среды для создания токенов, используйте процедуру, описанную в этом разделе, чтобы получить кратковременный токен OAuth с помощью интерфейса командной строки gcloud. (Срок действия токена истекает через час.) Дополнительные сведения см. в разделе Создание кратковременных учетных данных для учетной записи службы . Следующие шаги представляют собой сокращенный вариант этих инструкций.
Войдите в gcloud:
gcloud auth login
gcloud открывает окно браузера и запрашивает разрешение.
Установите свой проект:
gcloud config set project PROJECT_ID
Получите кратковременный токен доступа, используя print-access-token :
gcloud auth print-access-token
Эта команда возвращает токен. Скопируйте токен и вставьте его в YOUR_ACCESS_TOKEN с помощью следующей команды:
curl -X POST \ https://iamcredentials.googleapis.com/v1/projects/-/serviceAccounts/SERVICE_ACCOUNT:generateAccessToken \ -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \ -H "Content-Type: application/json; charset=utf-8" \ -d '{"scope": ["https://www.googleapis.com/auth/cloud-platform"],"lifetime": "3600s"}'
CLI возвращает недолговечный токен доступа OAuth, который теперь можно использовать при отправке запросов к
annotatePaths
.
(Необязательно) Проверьте разрешения токена OAuth.
Если у вас возникли проблемы с авторизацией, вы можете проверить разрешения своего токена OAuth, вставив токен в следующий URL-адрес, настроив OAUTH_TOKEN . (Вставьте это в адресную строку.)
https://oauth2.googleapis.com/tokeninfo?access_token=OAUTH_TOKEN
Ответ должен включать https://www.googleapis.com/auth/cloud-platform
. Если это не так, убедитесь, что вы правильно установили область, как показано в предыдущем разделе.
Используйте OAuth в производственных средах
Инструкции по использованию OAuth в производственной среде см. в разделе Аутентификация в Google .
Поиск неисправностей
Если ваш запрос возвращает сообщение об ошибке о том, что учетные данные конечного пользователя не поддерживаются этим API, см. раздел «Учетные данные пользователя не работают» .