2

자바 스크립트 코드에서 음성 서비스에 Watson 텍스트를 사용하려고합니다. 그러나 나는 그것을 작동 시키려고 노력하고있다. 나는 다음과 같은 코드를 사용하는 경우Java 스크립트에서 Watson 텍스트 음성 변환에 대한 인증 문제

는 :

$.ajax({ 
       url: 'https://stream.watsonplatform.net/text-to-speech/api/v1/synthesize', 
       type: 'POST', 
       headers: {"Content-Type": "application/json", "Accept": "audio/*", "Authorization": "Basic SomethingSomethingSomething=="}, 
       text: msgData.message[0].cInfo.text, 
       output: 'output.wav', 
       success: function() { 
        console.log("text to voice complete"); 
        var audio = new Audio('output.wav'); 
        audio.play(); 
       } 
      }); 

를 내가 얻을 :

https://stream.watsonplatform.net/text-to-speech/api/v1/synthesize로드 할 수 없습니다 : 헤더 필드 인증이 액세스 제어 - 허용 - 헤더에 의해 허용되지 않습니다 요청 프리 플라이트 응답.

Restlet에서 요청하는 것과 같이 쉽게 요청할 수 있습니다. 내가 사용하는 경우

그러나 :

$.ajax({ 
         url: 'https://stream.watsonplatform.net/text-to-speech/api/v1/synthesize', 
         type: 'POST', 
         user: {"something": "something"}, 
         headers: {"Content-Type": "application/json", "Accept": "audio/*"}, 
         data: {"text": msgData.message[0].cInfo.body}, 
         output: 'output.wav', 
         success: function() { 
           console.log("text to voice complete"); 
           var audio = new Audio('output.wav'); 
           audio.play(); 
         } 
       }); 

내가 얻을 : 음성으로 IBM 왓슨의 텍스트 (귀하의 경우 필요) 지원 에게 부분적으로 CORS를하는 것처럼

stream.watsonplatform.net/text-to-speech/api/v1/synthesize:1 POST https://stream.watsonplatform.net/text-to-speech/api/v1/synthesize 401 (Processed) 
index.html:1 Failed to load https://stream.watsonplatform.net/text-to-speech/api/v1/synthesize: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://52.207.232.200' is therefore not allowed access. The response had HTTP status code 401. 
+0

https://stackoverflow.com/questions/43105146/how-to-call-ibm-watson-services-from-javascript/43106268#43106268 참조 – sideshowbarker

답변

1

것 같습니다. 또한 Can't access IBM Watson API locally due to CORS on a Rails/AJAX App

, 당신은 자바 스크립트 코드에 당신 왓슨 자격 증명을 추가 할 수 없습니다 당신에게 을 알리는이 현명한 조언을 찾고, 오히려 토큰을 사용합니다 : 당신으로 https://console.bluemix.net/docs/services/watson/getting-started-tokens.html#tokens-for-authentication

을 그 답을 확인하시기 바랍니다

https://www.npmjs.com/package/watson-speech

: '어쩌면 좋은 선택이 될 것입니다 왓슨의 NPM 모듈 또는 (예 포함) 라이브러리를 시도, 클라이언트 측에서 작업을 다시

희망이 있습니다.