与Azure令牌

时间:2017-01-30 22:57:31

标签: rest azure

我已在MSDN论坛上发布此内容,但没有回复。我正在尝试移植使用MS Translator的应用程序,该应用程序一直使用旧的身份验证令牌机制(客户端ID,客户端密钥)来使用MS Azure。为此,我设置了一个Azure帐户,通过认知服务添加了MS Translator API,并根据此处的说明生成了密钥: https://translatorbusiness.uservoice.com/knowledgebase/articles/1078534-microsoft-tran 我可以调用Azure身份验证页面,如下所示: http://docs.microsofttranslator.com/oauth-token.html 但是,当我使用从该方法获得的令牌(来自我自己的请求和允许您尝试调用的swagger API文档),并调用API中的任何方法时,我得到的响应代码为0和响应错误标题说'没有来自服务器的响应'。

我的一部分困惑是我不确定我应该使用哪个密钥/订阅ID。当我订阅时,我得到了一个订阅ID,在调用issueToken方法时它不起作用。我还生成了两个密钥(key1和key2),可以选择重新生成它们。两者都会给我一个authToken,但当我调用API中的任何方法时,我得到相同的空响应。

例如,当我使用他们的swagger API文档(即try it按钮)调用GetLanguagesForTranslate方法时,我的请求具有以下标题:

Host: api.microsofttranslator.com
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:51.0) Gecko/20100101 Firefox/51.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Access-Control-Request-Method: GET
Access-Control-Request-Headers: authorization
origin: htee-tee-pee(slash-slash)docs.microsofttranslator.com

我的回答是空的。

任何人都可以告诉我发生了什么事吗?可能是因为无论出于何种原因我的订阅只是试用?除非我购买订阅,否则MS不允许我记录支持票。我不想那样做,因为我在为客户工作,一旦完成这项工作,我将不再使用订阅了。 提前致谢

1 个答案:

答案 0 :(得分:1)

听起来您可以通过http://docs.microsofttranslator.com/oauth-token.html从Azure门户获取密钥来获取访问令牌。

根据我的经验,我认为无响应问题似乎是由于参数appid&amp; Authorization。例如,使用任何字符串(例如您注册的Azure服务名称)设置appid值,并使用Authorization设置Bearer <access-token>值。

但是,如下面appid的描述。

  

<强> REQUIRED 即可。如果使用Authorization标头,请将appid字段留空,否则请指定包含&#34; Bearer&#34;的字符串。 +&#34; &#34; +访问令牌。

这意味着您只需要将appid值设置为Bearer <access-token>并将Authorization值设为空,如下图所示。

enter image description here

点击Try it out!,然后按以下步骤操作。

enter image description here