2017-08-06 160 views
0

我只是試圖運行低於此示例代碼:微軟翻譯API錯誤檢索翻譯

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。

有沒有人有什麼想法可能導致此?任何幫助是極大的讚賞。

謝謝!對於MS Azure的翻譯API

回答

1

第三方Java包裝boatmeme/microsoft-translator-java-api太舊&不可用,因爲它wrappered老Microsoft Translator - Text Translation這&不可用現在也老了。 網站頂部有一個通知Azure datamarket

DataMarket和Data Services正在退役,並將在2016年12月31日後停止接受新訂單。現有訂閱將從2017年3月31日起退休並取消。如果您想繼續提供服務,請聯繫您的服務提供商。

對於使用在Azure門戶新Azure的翻譯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

希望它有幫助。

+0

謝謝。我能夠解決這個問題。感謝您指出重複的帖子,我刪除了它。 – doddy