【问题标题】:MS Translator returns empty response when used with Azure token与 Azure 令牌一起使用时,MS 翻译器返回空响应
【发布时间】:2017-01-31 10:25:05
【问题描述】:

我已经在 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。当我订阅时,我得到了一个在调用 issueToken 方法时不起作用的订阅 ID。我还生成了两个密钥(一个密钥 1 和一个密钥 2),并且可以选择重新生成它们。两者都会给我一个 authToken,但是当我调用 API 中的任何方法时,我都会得到相同的空响应。

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

主办方:api.microsofttranslator.com 用户代理:Mozilla/5.0 (Windows NT 6.1; WOW64; rv:51.0) Gecko/20100101 Firefox/51.0 接受:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 接受语言:en-US,en;q=0.5 接受编码:gzip、deflate、br 访问控制请求方法:GET 访问控制请求标头:授权 来源:htee-tee-pee(斜杠)docs.microsofttranslator.com

我的回复是空的。

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

【问题讨论】:

    标签: rest azure


    【解决方案1】:

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

    根据我的经验,我认为没有响应的问题似乎是由于参数appidAuthorization设置不正确造成的。例如,将appid 值设置为任意字符串(例如您注册的Azure 服务名称),将Authorization 值设置为Bearer <access-token>

    但是,正如下面对appid 的描述。

    必填。如果使用 Authorization 标头,请将 appid 字段留空,否则指定包含“Bearer”+“”+访问令牌的字符串。

    也就是说你只需要将appid的值设置为Bearer <access-token>,并将Authorization的值留空,如下图。

    点击Try it out!,如下图。

    【讨论】:

    • 这似乎可行,至少在他们的 Swagger API 中是这样。谢谢!!
    猜你喜欢
    • 1970-01-01
    • 2021-07-03
    • 2021-10-27
    • 2015-02-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-21
    相关资源
    最近更新 更多