2017-03-26 2 views
0

Microsoft Translator API를 사용하고 싶지만 사용하도록 설정하고 있습니다.Microsoft Translator Text API가 작동하지 않습니다.

문서 (http://docs.microsofttranslator.com/text-translate.html)에 지정된대로 Microsoft Azure 계정을 만들었으며 리소스를 만들었습니다.

내가 액세스 토케를 얻기 위해 웹 서비스를 호출 할 때

내 코드입니다 .. 교체 아웃 시간 때문에, 내가 때마다 예외가 (이 자바와 유사한 에이펙스의) :

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에서 오류가 발생합니다.

왜 이런 정보를 얻을 수 있는지 알고 계십니까?

감사합니다.

답변

0

이제 지느러미가 작동합니다.

내 코드를 편집하고 괜찮 : http://docs.microsofttranslator.com/oauth-

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

감사하지만 난 (온라인 토큰 인증 서비스 것을 사용하는 경우 왜 작동 token.html)을 입력 필드와 함께 사용 하시겠습니까? –

+0

내 대답을 편집했습니다. 저것을 시도하십시오. –

+0

도움 주셔서 감사합니다. 키를 이미 받았습니다. 왜 다른 키를 요청해야합니까? 내 경우에는 어느 것을 가져 가야합니까? Translator API가 표시되지 않습니다. Aurélien –

관련 문제