2

JavaScriptサービスでWatsonテキストを音声サービスに使用しようとしています。 しかし、私はそれを働かせようとしているつもりです。JavaスクリプトからWatson Text to Speechの認可問題

私は次のコードを使用している場合:

$.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(); 
         } 
       }); 

私が取得:

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

音声にIBMワトソンテキストは(あなたの場合に必要)部分的 CORSをサポートしていように見えます。その答えを確認してください。あなたのよう https://console.bluemix.net/docs/services/watson/getting-started-tokens.html#tokens-for-authentication

Can't access IBM Watson API locally due to CORS on a Rails/AJAX App

また、あなたはあなたのJavaScriptコードであなたのワトソンの資格情報を追加し、むしろトークンを使用していないあなたにを通知が賢明な助言を見つけることができます「再多分選ぶとよいでしょう(例の)ワトソンのNPMモジュールやライブラリを試して、クライアント側での作業:

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

https://watson-speech.mybluemix.net/text-to-speech.html

関連する問題