DefaultCredentialsError поднял сообщение «Файл не найден»

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

Я использовал этот код, чтобы попытаться расшифровать 20-минутный длинный аудиофайл в текст. Я использую Google Colaboratory для этого.

Мой код — это просто импорт, блок кода для добавления файла JSON в путь env, функция в ссылке и блок кода, выполняющий функцию с путем к файлу .wav. Я не редактировал код, просто скопировал его и использовал тот же тип аудиофайла, что и они (.wav).

Я выполнил инструкции здесь, чтобы получить файл JSON для авторизации.

Чтобы установить переменную среды для GOOGLE_APPLICATION_CREDENTIALS, я вставил блок кода перед функцией следующим образом:

import os
os.environ["GOOGLE_APPLICATION_CREDENTIALS"]='folder_path\\My First Project-##########.json'

Это не вызвало ошибок, поэтому я предполагаю, что учетные данные добавляются к пути. Однако, когда я выполняю функцию следующим образом:

sample_long_running_recognize('folder_path\\audio_file.wav')

Я получаю сообщение об ошибке:

DefaultCredentialsError: File folder_path\\My First Project-##########.json was not found.

Из той же ссылки «Начало работы с аутентификацией», которой я поделился выше, есть функция implicit() для проверки правильности выполнения аутентификации. Я определил функцию и запустил ее, и я получил ту же ошибку. Что именно я делаю неправильно? Я также запустил set GOOGLE_APPLICATION_CREDENTIALS=folder_path\\My First Project-##########.json в cmd, как говорится в инструкции. Он также не возвращал никакой ошибки. Так почему же пишет, что файл не найден?

Я перепроверил несколько раз, с путем к файлу проблем нет, я просто скопировал его и добавил двойную обратную косую черту (это было из-за ошибки SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape)


person Arjun Mohan    schedule 29.04.2020    source источник
comment
Где вы запускаете этот код? Какая платформа/ОС? Если вы запустите python -c "open('folder_path\\My First Project-##########.json')", что произойдет?   -  person Dustin Ingram    schedule 29.04.2020
comment
В вашей среде установлен GCloud?   -  person guillaume blaquiere    schedule 29.04.2020
comment
Вы установили клиент ()? Например: os.environ['GOOGLE_APPLICATION_CREDENTIALS'] = 'folder_path\\My First Project-##########.json' = Client() ref.: stackoverflow.com/questions/61364931 /   -  person Ksign    schedule 01.05.2020
comment
Или client = speech_client.SpeechClient(credential=...) Ссылка: google-cloud-python. readthedocs.io/en/0.32.0/speech/gapic/   -  person Ksign    schedule 01.05.2020


Ответы (1)


Я решил эту проблему, установив GOOGLE_APPLICATION_CREDENTIALS непосредственно в папке проекта и удалив кавычки PATH, просто запустите это в командной строке.

set GOOGLE_APPLICATION_CREDENTIALS=C:\Users\yourUser\credentials-file.json

без кавычек

person Matheus Ferreira    schedule 02.07.2021