【发布时间】:2017-08-28 21:13:07
【问题描述】:
我的 android 应用程序很好地使用了旧的 microsoft Translator,但我有 让应用与新的认知服务一起工作时遇到问题。
首先,我获得了一个新的天蓝色翻译帐户,该帐户具有以下值 (这些不是真正的价值)
名称:MYTranslateAcct
资源组:翻译
订阅 ID:981h5ce7-7ac7-4f6f-b4a5-ff04dc9e4266
key1 d122230418a8479ab5c06f2f1fca664c
key2 39c1f187o9814f4e983jba9eedd2e2c7
我的第一步是尝试获取令牌。微软有关于做的文档 这在 JAVA 中但不是在 Android 环境中。我四处挖掘并拥有 把一些代码放在一起,但它不起作用。一个问题是, docs 使用我的帐户中没有的术语,例如“app-id”和 “钥匙”。我没有那些东西——我只有价值观列表 以上。
这是我的代码。 . .
class translateMessage extends AsyncTask<Void, Void, String> { String retString; String inString = null; translateMessage(String inString) { this.inString = inString; } @Override protected String doInBackground(Void... arg0) { try { String key = "881b5ce7-9ac7-4f6f-b4a5-ff04dc9e3199"; String authenticationUrl = "https://api.cognitive.microsoft.com/sts/v1.0/issueToken"; HttpsURLConnection authConn = (HttpsURLConnection) new URL(authenticationUrl).openConnection(); authConn.setRequestMethod("POST"); authConn.setDoOutput(true); authConn.setRequestProperty("Ocp-Apim-Subscription-Key", key); IOUtils.write("", authConn.getOutputStream(), "UTF-8"); //following line of code gets the exception . . . String token = IOUtils.toString(authConn.getInputStream(), "UTF-8"); //this blows } catch (Exception e) { String myString = e.getMessage(); String aString = "look at e"; } return retString; } @Override protected void onPostExecute(String result) { String debugStr = result; translation.setText(result); } }以下是例外。 . .
java.io.FileNotFoundException:https://api.cognitive.microsoft.com/sts/v1.0/issueToken
我做错了什么? 有人知道任何使用新服务的 Android java 代码吗?
【问题讨论】:
标签: java android language-translation microsoft-translator