【问题标题】:Microsoft Translator API error retrieving translationMicrosoft Translator API 检索翻译时出错
【发布时间】:2017-08-07 15:29:15
【问题描述】:

我只是想在下面运行这个示例代码:

import com.memetix.mst.language.Language;
import com.memetix.mst.translate.Translate;
public class Translator {
public static void main(String[] args) throws Exception {

    Translate.setClientId("ID GOES HERE");

    Translate.setClientSecret("SECRET GOES HERE");

    String translatedText = Translate.execute("Bonjour le monde", 
    Language.FRENCH, Language.ENGLISH);

    System.out.println(translatedText);
  }

}

我得到以下异常:

Exception in thread "main" java.lang.Exception: [microsoft-translator-api] Error retrieving translation : datamarket.accesscontrol.windows.net
at com.memetix.mst.MicrosoftTranslatorAPI.retrieveString(MicrosoftTranslatorAPI.java:202)
at com.memetix.mst.translate.Translate.execute(Translate.java:61)
at Translator.main(Translator.java:10)

Caused by: java.net.UnknownHostException: datamarket.accesscontrol.windows.net
at java.net.AbstractPlainSocketImpl.connect(Unknown Source)
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.SocksSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at sun.security.ssl.SSLSocketImpl.connect(Unknown Source)
at sun.security.ssl.BaseSSLSocketImpl.connect(Unknown Source)
at sun.net.NetworkClient.doConnect(Unknown Source)
at sun.net.www.http.HttpClient.openServer(Unknown Source)
at sun.net.www.http.HttpClient.openServer(Unknown Source)
at sun.net.www.protocol.https.HttpsClient.<init>(Unknown Source)
at sun.net.www.protocol.https.HttpsClient.New(Unknown Source)
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(Unknown Source)
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.getOutputStream0(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.getOutputStream(Unknown Source)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.getOutputStream(Unknown Source)
at com.memetix.mst.MicrosoftTranslatorAPI.getToken(MicrosoftTranslatorAPI.java:133)
at com.memetix.mst.MicrosoftTranslatorAPI.retrieveResponse(MicrosoftTranslatorAPI.java:160)
at com.memetix.mst.MicrosoftTranslatorAPI.retrieveString(MicrosoftTranslatorAPI.java:199)
... 2 more

我知道似乎我什至不想自己解决这个问题,但我是一个完整的初学者,我自己根本无法真正理解异常跟踪。我很确定我得到了正确的客户秘密。在我的 azure 帐户中,我只看到一个应用程序 ID 和一个对象 ID。我使用应用程序 ID 作为客户端 ID。

有人对可能导致此问题的原因有任何想法吗?非常感谢任何帮助。

谢谢!

【问题讨论】:

    标签: java azure microsoft-translator


    【解决方案1】:

    用于 MS Azure 翻译 API 的第三方 Java 包装器 boatmeme/microsoft-translator-java-api 太旧且不可用,因为它包装了旧的 Microsoft Translator - Text Translation,它现在已旧且不可用。 网站首页顶部有通知Azure datamarket

    DataMarket 和 Data Services 即将停用,并将在 2016 年 12 月 31 日之后停止接受新订单。现有订阅将从 2017 年 3 月 31 日起停用和取消。如果您想继续服务,请联系您的服务提供商以获取选项。

    要在 Azure 门户上使用新的 Azure Translator API,您需要参考文档Announcements: Microsoft Translator Moves to the Azure portal 以了解如何在 Azure 门户上创建新的转换器并通过新的 REST API 使用它。同时,作为参考,您可以在 Java 中查看我对另一个 SO 线程 Microsoft Translator API Java, How to get client new ID with Azure 的回答。

    希望对你有帮助。

    【讨论】:

    • 谢谢。我能够解决这个问题。感谢您指出重复的帖子,我已将其删除。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-11
    • 2021-12-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多