자바 스크립트 코드에서 음성 서비스에 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.
https://stackoverflow.com/questions/43105146/how-to-call-ibm-watson-services-from-javascript/43106268#43106268 참조 – sideshowbarker