我正在研究我的許可論文,並且在嘗試運行我的程序時今天遇到了問題。我使用microsoft-translator-api將一些羅馬尼亞語翻譯成英語,直到現在我對翻譯沒有任何問題,一切正常,但兩天前開始我注意到我收到了這個異常:microsoft-translator-api-檢索翻譯錯誤:Java中的狀態碼400
java.lang.Exception: [microsoft-translator-api] Error retrieving translation : Server returned HTTP response code: 400 for URL: https://datamarket.accesscontrol.windows.net/v2/OAuth2-13
at com.memetix.mst.MicrosoftTranslatorAPI.retrieveString(MicrosoftTranslatorAPI.java:202)
at com.memetix.mst.translate.Translate.execute(Translate.java:61)
at com.utcn.translator.Translator.translate(Translator.java:16)
at com.utcn.sentenceXmlParser.main.main(main.java:19)
我的翻譯類看起來是這樣的:
包com.utcn.translator;
import com.memetix.mst.detect.Detect;
import com.memetix.mst.language.Language;
import com.memetix.mst.translate.Translate;
public abstract class Translator {
public static String translate(String line) {
Translate.setClientId(/*my client id*/);
Translate.setClientSecret(/*my client secret*/);
String translatedText = null;
try {
translatedText = Translate.execute(line, Language.ROMANIAN,
Language.ENGLISH);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return translatedText;
}
}
有沒有人知道我該如何解決這個問題?
最好的問候, Roxana的
海蘭,謝謝作爲答案,但憑證沒有問題,我的客戶機密已經是Base 64格式,我得到了一些翻譯過的單詞,並且在幾次翻譯之後,我得到了這個例外 – Roxana
由於microsoft-ttranslaor-api只是一個oAuth包裝器,發出http請求,你可以[設置代理](http://docs.oracle.com/javase/7/docs/technotes/guides/net/proxies.html)並使用攔截代理工具(如[Burp]( http://portswigger.net/burp/proxy.html))來調查對服務器的實際請求(通過攔截響應或設置斷點在翻譯器的API部分,你也可以看到確切的響應) –