Microsoft Azure Translator Android API无法正常运行

时间:2017-08-04 18:32:04

标签: android api azure azure-hub

我正在尝试使用Microsoft-translator-API制作文本翻译应用,但我无法从此API收到任何回复,我总是收到此消息:

  

[microsoft-translator-api]检索翻译时出错:无法解析主机“datamarket.accesscontrol.windows.net”:没有与主机名关联的地址

即使我已经提供了正确的客户端ID和客户端密码ID。

我试过this link但我不知道在哪里放JSON-Simple.jar文件。我也试过了this link,但仍然没有成功。我在下面粘贴我的代码:

public String translateText() throws Exception {
    Translate.setClientId("whateveritis");
    Translate.setClientSecret("whateveritis");

     translatedText = Translate.execute(
            userText.getText().toString(),
            languages[sEnterLan.getSelectedItemPosition()],
            languages[sTransLan.getSelectedItemPosition()]);

    Language detectedLanguage = Detect.execute(userText.getText()
            .toString());
    this.detectedLanguage = detectedLanguage.getName(Language.ENGLISH);

    return translatedText;
}

通过调用上面的函数,我可以将翻译后的文本接收到字符串变量中,但每次都会出现异常。

1 个答案:

答案 0 :(得分:0)

根据您的代码和参考链接,我认为您正在使用MS Azure Translator API的第三方Java包装器boatmeme/microsoft-translator-java-api。然而,它是一个古老的Java包装器,它包裹了旧的&来自旧网站Azure datamarket的API不可用。此站点上有通知,所有原始API已迁移到Azure订阅。

  

DataMarket和数据服务正在停用,并将在2016年12月31日之后停止接受新订单。从2017年3月31日开始,现有订阅将被停用并取消。如果您想继续提供服务,请联系您的服务提供商。

所以我建议您可以尝试引用我对其他SO线程Microsoft Translator API Java, How to get client new ID with Azure的回答,为Azure门户上的Translator Text API创建认知服务,并通过新的REST API使用它。

希望它有所帮助。