繁体   English   中英

Microsoft Translator Text API不起作用

[英]Microsoft Translator Text API doesn't work

我想使用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错误消息。

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

谢谢

您应该用正确的密钥替换[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);

现在可以正常工作了。

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

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

谢谢

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM