microsoft translator api-检索翻译时出错:Java中的状态代码400

microsoft translator api-检索翻译时出错:Java中的状态代码400,java,Java,我正在写我的许可证论文,今天在运行我的程序时遇到了一个问题。我使用microsoft translator api将一些单词从罗马尼亚语翻译成英语,到目前为止,我对翻译没有任何问题,一切正常,但从两天前开始,我注意到我遇到了以下例外: java.lang.Exception: [microsoft-translator-api] Error retrieving translation : Server returned HTTP response code: 400 for URL: htt

我正在写我的许可证论文,今天在运行我的程序时遇到了一个问题。我使用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)
我的Translator类如下所示:

包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

最可能的问题是你的证件。(
ClientId
ClientSecret
)。 您可以尝试如下设置凭据(取自)

我找到了答案

首先,我对MicrosoftAPI进行了大量调用。经过我的努力,我可以清楚地看到问题所在。我得到了另一个异常,因为我的文本中有一个“异常”。似乎microsoft translator api无法处理该异常,它返回了一个ClassCastException


谢谢你们的回答!

Hy,谢谢你们的回答,但是凭证很好,我的客户端密码已经是Base 64格式。我翻译了一些单词,经过几次翻译后,我得到了一个例外。因为microsof ttranslaor api只是一个oAuth包装器,可以发出http请求,你也可以使用拦截代理l(比如)调查向服务器发出的实际请求(通过截取响应或在translator api的该部分设置断点,您也可以看到确切的响应)
Translate.setClientId("client id you type in the web site");
Translate.setClientSecret("secret  you type in the web site  in Base 64 format");