Ошибка GOOGLE_APPLICATION_CREDENTIALS

Я пытаюсь использовать API речи Google для преобразования аудиофайла в текст, но столкнулся с некоторыми проблемами с документацией. Я включил API речи и создал файл учетной записи службы. Я также активировал учетные данные служебной учетной записи. Затем я написал следующую команду, чтобы получить токен авторизации, используя мою учетную запись службы.

gcloud auth application-default print-access-token

Но он возвращает это сообщение введите здесь описание изображения

Я не понимаю, почему это происходит, потому что у меня уже есть экземпляр виртуальной машины, созданный в моем Compute Engine. Может ли кто-нибудь объяснить, где я ошибаюсь в этом? Кроме того, есть ли другой способ аутентификации моей учетной записи и вызова API речи Google?


person JSnow    schedule 05.07.2017    source источник
comment
Примечание: вы можете скопировать/вставить текст ошибки вместо скриншотов; таким образом текст может быть проиндексирован поисковыми системами и прочитан слепыми людьми и прочее   -  person Félix Paradis    schedule 05.10.2018


Ответы (3)


Учетные данные gcloud и учетные данные приложения по умолчанию управляются отдельно. Если вы активировали файл ключа учетной записи службы, его можно использовать только для команд gcloud, но не для учетных данных приложения по умолчанию.

gcloud auth application-default набор команд предназначен только для управления приложением по умолчанию и не имеет ничего общего с командами в gcloud auth.

Есть несколько способов «активировать» учетные данные приложения по умолчанию:

  • Use your user account
    • Run gcloud auth application-default login, or
  • Использовать сервисный аккаунт (предпочтительно)

    • set environment variable GOOGLE_APPLICATION_CREDENTIALS=path/to/your/service_accont_key_file.json
    • скопируйте path/to/your/service_accont_key_file.json в ~/.config/gcloud/application_default_credentials.json`

      • В Windows это может быть по-другому, запустите

        gcloud info --format="value(config.paths.global_config_dir)"
        

        чтобы получить путь к вашему каталогу конфигурации.

теперь команда как

gcloud auth application-default print-access-token

должно сработать.

person cherba    schedule 06.07.2017
comment
Я пытаюсь использовать метод key.json учетной записи службы для аутентификации моего локального хоста для связи со службой API Google. Я загружаю json, затем перехожу в раздел «Путь к среде» в окне и устанавливаю GOOGLE_APPLICATION_CREDENTIALS, но все еще не могу получить доступ к API Google из локальной сети. - person Prabhat Yadav; 19.09.2017
comment
Я предполагаю, что вы работаете в Windows. Просто для подтверждения: после того, как вы установите переменную среды, вам также необходимо перезапустить любое приложение, в котором вы пытаетесь его использовать. Попробуйте напечатать значение переменной окружения, чтобы убедиться, что оно действительно распространилось. Если это все еще не работает, вы можете опубликовать вопрос о переполнении стека и указать, как вы пытаетесь получить доступ, привести пример или фрагмент кода, чтобы другие могли воспроизвести. - person cherba; 20.09.2017
comment
Вот что действительно сработало для меня: mkdir ~/.config/gcloud, затем mv ~/.config/gcloud/keyfile.json ~/.config/gcloud/application_default_credentials.json - person zdeeb; 10.11.2017

В качестве решения вы можете загрузить консоль GCLOUD, а затем ЗАПУСТИТЬ эту команду на консоли «gcloud auth application-default», войдите в систему с учетной записью gmail, у которой есть доступ к проекту, и тогда вы получите доступ к API Google, которые включены.

person Prabhat Yadav    schedule 19.09.2017
comment
Я удалил вопрос из вашего ответа, поэтому осталось только решение. Вы должны использовать кнопку Задать вопрос, если у вас есть новый вопрос (даже если это связанный вопрос). - person g00glen00b; 25.09.2017

вы можете сгенерировать файл ключа json в gcloud с помощью этой команды: gcloud auth application-default login

Google отобразит ссылку для подтверждения, как только вы это сделаете, отобразится файл json во временной папке.

введите здесь описание изображения

person Tiago Medici    schedule 29.10.2019