Я пытаюсь использовать механизм преобразования текста в речь Google Cloud для своего робота, и я не могу понять справочную страницу для явной передачи ключа в Python, как упоминалось здесь .
IВчера провел несколько часов, изучая различные варианты установки переменной окружения GOOGLE_APPLICATION_CREDENTIALS
, необходимой для неявной авторизации, включая команду export
в сценарии оболочки, которую я использую для запуска робота, используя команды os.environ
в Python и * 1008.* для вызова export
команды.
client = texttospeech.TextToSpeechClient()
voice = robot_config.get('google_cloud', 'voice')
keyFile = robot_config.get('google_cloud', 'key_file')
hwNum = robot_config.getint('tts', 'hw_num')
languageCode = robot_config.get('google_cloud', 'language_code')
voice = texttospeech.types.VoiceSelectionParams(
name=voice,
language_code=languageCode
)
audio_config = texttospeech.types.AudioConfig(
audio_config=texttospeech.enums.AudioEncoding.LINEAR16
)
os.environ['GOOGLE_APPLICATION_CREDENTIALS'] = keyFile
Вход в систему через SSH показывает, что я успешно установил переменную среды, поскольку она отображается в env
;однако DefaultCredentialsError
выдается со следующим сообщением
Не удалось автоматически определить учетные данные.Пожалуйста, установите GOOGLE_APPLICATION_CREDENTIALS
или явно создайте учетные данные и перезапустите приложение.Для получения дополнительной информации см. https://cloud.google.com/docs/authentication/getting-started
Вход в систему и установка переменной среды вручную позволит сценарию работать и работать, но это не долгосрочное решение.