Как мне заставить gcloud выбрать правильный проект?

#project #gcloud

#проект #gcloud

Вопрос:

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

transscript= $(curl -s -H «Content-Type: application / json» -H «Авторизация: на предъявителя» $ (gcloud auth print-access-token)https://speech.googleapis.com/v1/speech:recognize -d @$mailpath/sync_request.json)

результаты в

«код»: 403, «сообщение»: «Облачный API преобразования речи в текст ранее не использовался в проекте 32555940559 или он отключен. Включите его, посетивhttps://console.developers.google.com/apis/api/speech.googleapis.com/overview?project = затем повторите попытку. Если вы недавно включили этот API, подождите несколько минут, пока действие распространится на наши системы, и повторите попытку.»,

Я понятия не имею, откуда взялся неправильный номер проекта.

Я попробовал список конфигураций gcloud config, и отображается правильный проект. Я полностью деинсталлировал sdk. Я назначил переменную среды GOOGLE_APPLICATION_CREDENTIALS

все безуспешно.

ожидаемый результат — присвоен правильный проект

Ответ №1:

в документации говорится:

gcloud auth application-default print-access-token генерирует и печатает токен доступа для текущих учетных данных приложения по умолчанию (ADC). ADC можно указать либо путем установки GOOGLE_APPLICATION_CREDENTIALS переменной среды в путь к файлу ключа учетной записи службы (JSON), либо с помощью gcloud auth application-логин по умолчанию.

Ответ №2:

Вы используете недокументированный (и не рекомендованный) проект gcloud auth print-access-token . При этом будет использоваться идентификатор клиента SDK по умолчанию (который, как я предполагаю, находится в project 32555940559 ), а Speech API в этом проекте не включен.

Как предложил Мартин, вместо использования gcloud auth print-access-token вам следует использовать gcloud auth application-default print-access-token .

Вы можете проверить, прав ли я относительно идентификатора клиента, выполнив grep -r 'CLOUDSDK_CLIENT_ID =' $(dirname $(which gcloud))/../ (я только что проверил, и действительно, этот идентификатор проекта соответствует проекту с идентификатором клиента по умолчанию).