我正在尝试使用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;
}
通过调用上面的函数,我可以将翻译后的文本接收到字符串变量中,但每次都会出现异常。
答案 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使用它。
希望它有所帮助。