0

node.js の websocket モジュールを使用して、IBM Watson Speech to text api とやり取りしようとしています。接続しようとすると 400 エラーが発生し、その理由がよくわかりません... 以前に Websocket を使用したことがありません。ソケットを作成して接続しようとしている私のコードは次のとおりです

var WebSocketClient = require('websocket').client,
    client = new WebSocketClient(),
    token = 'myToken==',
    wsri = 'wss://stream.watsonplatform.net/speech-to-text/api/v1/recognize?watson-token=' + token;

//some event handlers for on connect and on connectFailed

client.connect(wsri, null, null, null, null);

ここに私が得る応答があります

Connect Error: Error: Server responded with a non-101 status: 400
Response Headers Follow:
content-type: text/html
x-dp-watson-tran-id: csf_platform_prod_dp01-735083801
set-cookie: Watson-DPAT=this_is_a_cookie; path=/speech-to-text/api; secure; HttpOnly
www-authenticate: Basic realm="IBM Watson Gateway Log-in"
x-backside-transport: FAIL FAIL
connection: close

これを修正する方法はありますか??

EDIT-UPDATE: 以下のドイツ人の回答は正しいです。認証エンドポイントを呼び出してトークンを取得するのではなく、自分の bluemix 資格情報を使用しようとしていました。

4

2 に答える 2

0

Watson の Speech-to-Text サービスは、Web ソケットをサポートしていません。詳細な説明については、こちらを参照してください

別のプロトコルを使用する必要があります。Node.js 経由で Watson の API に接続するためのガイドは、ここにあります。

お役に立てれば!

于 2015-08-07T20:02:58.887 に答える