microsoft-translator-api-错误检索转换:Java中的状态代码400

时间:2014-03-19 15:18:35

标签: java

我正在处理我的许可证论文,我在尝试运行程序时遇到了一个问题。我使用microsoft-translator-api将一些单词从罗马尼亚语翻译成英语,直到现在我对翻译没有任何问题,一切正常,但两天前开始我注意到我得到了这个例外:

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)

My Translator课程如下所示:

package 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的

2 个答案:

答案 0 :(得分:1)

我找到了答案!

首先,我打电话给微软api。在减少之后,我可以清楚地看到问题。我得到了另一个例外,因为“这是我的文本。似乎微软翻译api无法处理它,它返回一个ClassCastException!

谢谢大家的答案!

答案 1 :(得分:0)

最有可能的问题是您的凭据。 (ClientIdClientSecret)。 您可以尝试设置如下所示的凭据(取自this thread)。

Translate.setClientId("client id you type in the web site");
Translate.setClientSecret("secret  you type in the web site  in Base 64 format");