【问题标题】:Microsoft Translator Text API doesn't work微软翻译文本 API 不起作用
【发布时间】:2018-12-06 17:59:19
【问题描述】:

我想使用 Microsoft Translator API,但无法使用。

我创建了文档 (http://docs.microsofttranslator.com/text-translate.html) 中指定的 Microsoft Azure 帐户并创建了资源。

当我调用 Web 服务获取访问令牌时,每次我因为超时而收到异常......

这是我的代码(它是 Apex,类似于 Java):

Http h = new Http();
HttpRequest req = new HttpRequest();
req.setMethod('POST');
req.setHeader('Content-Length', '3495');
req.setEndpoint('https://api.cognitive.microsoft.com/sts/v1.0/issueToken?Subscription-Key=[myAPIKey]');
req.setTimeout(20000);
HttpResponse res = h.send(req);

如果我从标头中删除我的 API 密钥或内容长度,我会收到来自 Microsoft 的错误。

你知道我为什么会得到这个吗?

谢谢

【问题讨论】:

    标签: api azure translate bing


    【解决方案1】:

    您应该将 [myAPIKey] 替换为正确的密钥。你可以通过https://www.microsoft.com/cognitive-services获得它

    编辑 上面的答案与 GET 操作有关。对于 POST,您应该包含“Ocp-Apim-Subscription-Key”标头:

    Http h = new Http();
    HttpRequest req = new HttpRequest();
    req.setMethod('POST');
    req.setHeader('Content-Length', '3495');
    req.setHeader('Ocp-Apim-Subscription-Key', '[INSERT_HERE_YOUR_TOKEN]');
    req.setEndpoint('https://api.cognitive.microsoft.com/sts/v1.0/issueToken');
    req.setTimeout(20000);
    HttpResponse res = h.send(req);
    

    【讨论】:

    • 好的,但是如果我在输入字段中使用在线令牌身份验证服务 (docs.microsofttranslator.com/oauth-token.html),为什么它会起作用?
    • 感谢您的帮助。我已经拿到了钥匙,为什么还要再申请?至于我的情况,我该拿哪一个?我没有看到翻译 API。奥雷利安
    【解决方案2】:

    现在可以正常使用了。

    我编辑了我的代码,没问题:

    HttpRequest req = new HttpRequest();
    req.setMethod('GET');
    req.setEndpoint(theURL);
    req.setHeader('Content-Type','application/xml');
    Http binding = new Http();
    HttpResponse res = binding.send(req);
    

    谢谢

    【讨论】:

      猜你喜欢
      • 2013-03-06
      • 1970-01-01
      • 2019-11-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多