google云翻译Javalib挂机
google cloud translate Java lib hang-up
- 我已经按照这个配置了 gcloud link https://cloud.google.com/sdk/docs/quickstart-windows
我有认证账户image
当我调用翻译 API 或语音 API 时,它挂断了很长时间并显示错误消息
线程 "main" 中出现异常 com.google.cloud.translate.TranslateException:获取服务帐户的访问令牌时出错:
在 com.google.cloud.translate.spi.v2.HttpTranslateRpc.translate(HttpTranslateRpc.java:61)
在 com.google.cloud.translate.spi.v2.HttpTranslateRpc.translate(HttpTranslateRpc.java:144)
在 com.google.cloud.translate.TranslateImpl$4.call(TranslateImpl.java:113)
在 com.google.cloud.translate.TranslateImpl$4.call(TranslateImpl.java:110)
在 com.google.api.gax.retrying.DirectRetryingExecutor.submit(DirectRetryingExecutor.java:89)
在 com.google.cloud.RetryHelper.run(RetryHelper.java:74)
在 com.google.cloud.RetryHelper.runWithRetries(RetryHelper.java:51)
在 com.google.cloud.translate.TranslateImpl.translate(TranslateImpl.java:110)
在 com.google.cloud.translate.TranslateImpl.translate(TranslateImpl.java:124)
在 org.org.fp.audio.recognition.core.TranslateTest.main(TranslateTest.java:16)
代码会像这样:
public static void main(String... args) throws Exception {
// Instantiates a client
Translate translate = TranslateOptions.getDefaultInstance().getService();
// The text to translate
String text = "Hello, world!";
// Translates some text into Russian
Translation translation =
translate.translate(
text,
TranslateOption.sourceLanguage("en"),
TranslateOption.targetLanguage("ru"));
System.out.printf("Text: %s%n", text);
System.out.printf("Translation: %s%n", translation.getTranslatedText());
}
问题与帐户信息或网络有关?
这很可能是授权问题:
使用 Google 云客户端库时,您需要下载服务帐户的 JSON 文件并将 GOOGLE_APPLICATION_CREDENTIALS 设置为 JSON 文件的存储路径.翻译API可以参考this link。语音 API.
的过程相同
添加代理后成功了:
System.setProperty("https.proxyHost", "127.0.0.1");
System.setProperty("https.proxyPort", "1080");
谢谢ch_mike。
- 我已经按照这个配置了 gcloud link https://cloud.google.com/sdk/docs/quickstart-windows
我有认证账户image
当我调用翻译 API 或语音 API 时,它挂断了很长时间并显示错误消息
线程 "main" 中出现异常 com.google.cloud.translate.TranslateException:获取服务帐户的访问令牌时出错: 在 com.google.cloud.translate.spi.v2.HttpTranslateRpc.translate(HttpTranslateRpc.java:61) 在 com.google.cloud.translate.spi.v2.HttpTranslateRpc.translate(HttpTranslateRpc.java:144) 在 com.google.cloud.translate.TranslateImpl$4.call(TranslateImpl.java:113) 在 com.google.cloud.translate.TranslateImpl$4.call(TranslateImpl.java:110) 在 com.google.api.gax.retrying.DirectRetryingExecutor.submit(DirectRetryingExecutor.java:89) 在 com.google.cloud.RetryHelper.run(RetryHelper.java:74) 在 com.google.cloud.RetryHelper.runWithRetries(RetryHelper.java:51) 在 com.google.cloud.translate.TranslateImpl.translate(TranslateImpl.java:110) 在 com.google.cloud.translate.TranslateImpl.translate(TranslateImpl.java:124) 在 org.org.fp.audio.recognition.core.TranslateTest.main(TranslateTest.java:16)
代码会像这样:
public static void main(String... args) throws Exception { // Instantiates a client Translate translate = TranslateOptions.getDefaultInstance().getService(); // The text to translate String text = "Hello, world!"; // Translates some text into Russian Translation translation = translate.translate( text, TranslateOption.sourceLanguage("en"), TranslateOption.targetLanguage("ru")); System.out.printf("Text: %s%n", text); System.out.printf("Translation: %s%n", translation.getTranslatedText());
}
问题与帐户信息或网络有关?
这很可能是授权问题:
使用 Google 云客户端库时,您需要下载服务帐户的 JSON 文件并将 GOOGLE_APPLICATION_CREDENTIALS 设置为 JSON 文件的存储路径.翻译API可以参考this link。语音 API.
的过程相同添加代理后成功了:
System.setProperty("https.proxyHost", "127.0.0.1");
System.setProperty("https.proxyPort", "1080");
谢谢ch_mike。