如何在不设置环境变量的情况下将谷歌语音到文本的凭据设置?



有使用lib的C#示例client-libraries-usage-csharp。

并且有示例如何设置环境变量

export GOOGLE_APPLICATION_CREDENTIALS="/home/user/Downloads/[FILE_NAME].json">

如何在不设置环境变量的情况下将谷歌语音到文本的凭据设置?

不知何故像这样:

变量凭据 = ...创建(file.json(; var speech = SpeechClient.Create(credentials(;

using Grpc.Auth;

然后

string keyPath = "key.json";
GoogleCredential googleCredential;
using (Stream m = new FileStream(keyPath, FileMode.Open))
googleCredential = GoogleCredential.FromStream(m);
var channel = new Grpc.Core.Channel(SpeechClient.DefaultEndpoint.Host,
googleCredential.ToChannelCredentials());
var speech = SpeechClient.Create(channel);

除非您在 GCP 服务上运行应用程序,否则除了设置环境变量之外,没有其他方法可以获取客户端库的服务帐户凭据。

GCP 客户端库使用称为应用程序默认凭据 (ADC( 的策略来查找应用程序的凭据。

默认情况下,客户端库将使用环境变量指向的 JSON。如果未找到 JSON,但您的应用在 App Engine、Compute Engine 或 Kubernetes Engine 上运行,则您的应用将使用默认服务帐号的凭据(例如,如果您的应用在 App Engine 上运行,则使用 App Engine 默认服务帐号(。

SpeechClient.Create(( 在 2.7.0 版中不再支持参数凭据,但我找到了以下解决方案:

var client = new SpeechClientBuilder { JsonCredentials = "..." }.Build() 

JsonCredentials接受包含json内容的字符串。

相关内容

  • 没有找到相关文章

最新更新