如何在已部署的 WPF 应用程序中使用谷歌语音文本 api 密钥?

Posted

技术标签:

【中文标题】如何在已部署的 WPF 应用程序中使用谷歌语音文本 api 密钥?【英文标题】:How can I use a google speech to text api key in deployed WPF app? 【发布时间】:2021-06-01 13:29:25 【问题描述】:

我创建了一个使用 google Speech-to-Text API 的 C# WPF 应用程序。目前,在我的开发机器上,我在windows中添加了一个环境变量,它引用了google给我的JSON文件。

我是否需要为我部署应用程序的每台机器创建该环境变量,或者有没有办法以某种方式将 JSON 密钥存储在服务器上并从那里引用它?

【问题讨论】:

肯定有另一种方法可以通过环境变量配置 Google Speech-to-Text。要回答您的问题,重要的是要知道谁将成为您的 WPF 应用程序的用户。是否可以信任用户不会滥用 API 密钥?因为你必须假设他们会找到它。 【参考方案1】:

可能,Passing Credentials Using Code 可以帮助您。

这是从那里复制的代码:

// Some APIs, like Storage, accept a credential in their Create()
// method.
public object AuthExplicit(string projectId, string jsonPath)

    // Explicitly use service account credentials by specifying 
    // the private key file.
    var credential = GoogleCredential.FromFile(jsonPath);
    var storage = StorageClient.Create(credential);
    // Make an authenticated API request.
    var buckets = storage.ListBuckets(projectId);
    foreach (var bucket in buckets)
    
        Console.WriteLine(bucket.Name);
    
    return null;

// Other APIs, like Language, accept a channel in their Create()
// method.
public object AuthExplicit(string projectId, string jsonPath)

    LanguageServiceClientBuilder builder = new LanguageServiceClientBuilder
    
        CredentialsPath = jsonPath
    ;

    LanguageServiceClient client = builder.Build();
    AnalyzeSentiment(client);
    return 0;

【讨论】:

感谢您的回答。我必须使用 SpeechClientBuilder 显式传递凭据并且它有效。

以上是关于如何在已部署的 WPF 应用程序中使用谷歌语音文本 api 密钥?的主要内容,如果未能解决你的问题,请参考以下文章

如何在网络上使用谷歌语音到文本

如何从谷歌文本到 PHP 中的语音 API 中的 URL 参数获取性别声音?

如何在已部署的 Cloud Run Service(托管)中使用 Google Secret?

如何将元数据谷歌语音传递给文本 api - swift ios

如何使用语音打开 Android TV 应用

wpf可以进行语音识别吗