Используйте OAuth (автомобильная промышленность)

Для авторизации ваших запросов к annotatePaths требуется учетная запись службы в белом списке для соответствующего проекта Google Cloud. Затем вы можете выдать себя за учетную запись службы и создать токен OAuth, который передается в качестве заголовка в запросах.

Настройка учетной записи службы

Поскольку только учетным записям служб из белого списка разрешено вызывать annotatePaths , вы должны действовать как учетная запись службы , олицетворяя учетную запись службы .

  1. Следуйте инструкциям в разделе Создание учетной записи службы . Электронная почта учетной записи службы имеет следующий общий формат:

    SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com
    
  2. Отправьте электронное письмо с учетной записью службы своему бизнес-представителю 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. (Срок действия токена истекает через час.) Дополнительные сведения см. в разделе Создание кратковременных учетных данных для учетной записи службы . Следующие шаги представляют собой сокращенный вариант этих инструкций.

  1. Войдите в gcloud:

    gcloud auth login
    

    gcloud открывает окно браузера и запрашивает разрешение.

  2. Установите свой проект:

    gcloud config set project PROJECT_ID
    
  3. Получите кратковременный токен доступа, используя 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, см. раздел «Учетные данные пользователя не работают» .