我正在尝试使用 node.js 的 websocket 模块与 IBM Watson Speech to text api 交互。当我尝试连接时,我得到一个 400 错误,我不确定为什么......我以前从未使用过 websockets。这是我创建套接字并尝试连接的代码
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
任何想法如何解决这一问题??
编辑更新:下面的德国人回答是正确的。我没有调用授权端点来获取令牌,而是尝试使用我的 bluemix 凭据。