google云翻译Javalib挂机

google cloud translate Java lib hang-up

  1. 我已经按照这个配置了 gcloud link https://cloud.google.com/sdk/docs/quickstart-windows
  2. 我有认证账户image

  3. 当我调用翻译 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)

  4. 代码会像这样:

    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。