簡體   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