Google云端口转换器.net客户端

时间:2017-06-09 09:11:39

标签: c# google-cloud-storage google-translate

我正在尝试在我的.net项目中使用谷歌翻译api。我已经安装了这个库

  

安装包Google.Cloud.Storage.V1

在我的代码中,我正在尝试这个

Console.OutputEncoding = System.Text.Encoding.Unicode;
TranslationClient client = TranslationClient.Create();
var response = client.TranslateText("Hello World.", "ru");
Console.WriteLine(response.TranslatedText);

我收到身份验证错误,我真的很困惑如何做到这一点。我不能只是将api密钥传递给create函数吗?或者这是一个问题吗?

我看到Create函数有一个选项

GoogleCredential.FromJson(parmas)

但是我可以传递一个json字符串吗?如果是,那JSON的格式应该是什么?

提前致谢。

2 个答案:

答案 0 :(得分:2)

请参阅此链接 - https://developers.google.com/identity/protocols/application-default-credentials。下载.json文件。

安装Google.Cloud.Translation.V2

string credential_path = @"D:\..\..\cred.json";
System.Environment.SetEnvironmentVariable("GOOGLE_APPLICATION_CREDENTIALS", credential_path);                                          

答案 1 :(得分:2)

以下是示例应用程序:
https://github.com/GoogleCloudPlatform/dotnet-docs-samples

身份验证信息:
https://cloud.google.com/docs/authentication/
https://cloud.google.com/docs/authentication/api-keys

首先安装NuGet包:
PM>安装包Google.Cloud.Translation.V2 -pre

这是对我有用的绝对最简单的代码。 3行代码,还不错:))

var service = new TranslateService(new BaseClientService.Initializer { ApiKey = apiKeyTranslate });
var client = new TranslationClientImpl(service, TranslationModel.ServiceDefault);
var result = client.TranslateText("Hello, World", "sr");

Response.Write(result.TranslatedText);