微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

.NET:应用程序默认凭据不可用

如何解决.NET:应用程序默认凭据不可用

在我的应用程序中,我使用了 Google Cloud Translation 服务。

在我的开发者机器上,我安装了 Google 凭据环境变量。

但是,在部署时,我的应用程序抛出以下错误

应用程序认凭据不可用。

必须定义环境变量 GOOGLE_APPLICATION_CREDENTIALS。

如果在 Google Compute Engine 中运行,它们是可用的。否则,必须定义环境变量 GOOGLE_APPLICATION_CREDENTIALS 指向定义凭据的文件。有关详细信息,请参阅 https://developers.google.com/accounts/docs/application-default-credentials

我认为凭据会自动编译到我的应用程序中。

这里可能有什么错误

谢谢!

解决方法

JSON 文件需要编译为嵌入式资源。

解决办法如下: http://www.hzhang.org/Umbraco/blog/use-google-cloud-translation-with-c/

将 Google Cloud Translation 与 C# 结合使用

按照指南设置帐户。

将私钥下载为 JSON 并保存在文件夹 Assets 下(例如 API Project-xxxxxxx.json)。

重要提示:将其构建操作设置为嵌入式资源。

安装 NuGet 包 Google.Cloud.Translation.V2。

创建翻译客户端

TranslationClient _tc;

GoogleCredential gc = GoogleCredential.FromStream(Utility.GetStreamFromResourceFile("API Project-xxxxxxx.json",GetType()));

_tc = TranslationClient.Create(gc);

您可以像以下示例一样进行翻译,将“待翻译的文本”从德语翻译成英语:

 string sTranslatedText = _tc.TranslateText("Text to be translated","en","de").TranslatedText;

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。