Прежде всего, область действия этого вопроса: NET C#, поэтому это не дубликат этого ТА вопроса.
У меня есть тестовый код для распознавания речи, который я получить из Google документы. Код следующий:
public static string DEMO_FILE = "test.mp3";
public static void Main(string[] args)
{
var speech = SpeechClient.Create(); // Exception thrown here
}
Когда приложение запускает SpeechClient.Create();
строку, генерируется исключение System.InvalidOperationException
.
Сообщение об исключении : 'Приложение Учетные данные по умолчанию недоступны. Они доступны, если работают в Google Compute Engine. В противном случае необходимо определить переменную среды GOOGLE_APPLICATION_CREDENTIALS, указывающую на файл, определяющий учетные данные. См. https://developers.google.com/accounts/docs/application-default-credentials для получения дополнительной информации. '
Что я уже сделал?
Я установил GOOGLE_APPLICATION_CREDENTIALS
переменную со значением (закрытый ключ json файл). Я просто запускаю следующую команду в cmd:
set GOOGLE_APPLICATION_CREDENTIALS=C:\Users\myusername\Downloads\my-file-name.json
Кроме того, когда я печатаю переменную среды в cmd, используя echo %GOOGLE_APPLICATION_CREDENTIALS%
путь к файлу и отображается имя файла.
Примечание: Я установил среду вручную, но она не сработала.
Что я должен сделать, чтобы решить эту досадную проблему?
Спасибо за ваши предложения и советы.
Редактировать
Следующая строка может установить GOOGLE_APPLICATION_CREDENTIALS
переменную среды. Однако, когда приложение завершается / завершается, переменная не может быть достигнута.
System
.Environment
.SetEnvironmentVariable("GOOGLE_APPLICATION_CREDENTIALS", @"C:\my-path\my-private-key.json");