Microsoft Translator Text API不起作用

时间:2017-03-26 20:32:49

标签: api azure translate bing

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

我按照文档(http://docs.microsofttranslator.com/text-translate.html)中的说明创建了一个Microsoft Azure帐户,并创建了一个资源。

当我调用Web服务访问toke时,每次因为超时而得到异常...

这是我的代码(它是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的错误。

你知道我为什么会这样做吗?

由于

2 个答案:

答案 0 :(得分:0)

您应该用右键替换[myAPIKey]。您可以通过https://www.microsoft.com/cognitive-services

获取它

enter image description here

修改 上面的答案与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);

答案 1 :(得分:0)

现在有效。

我编辑了我的代码,没关系:

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);

由于