我正在尝试使用仅具有IAM授权的新帐户将IBM Watson的讲话与文本WebSocket连接起来。
我的WS端点是wss://stream-fra.watsonplatform.net/text-to-speech/api/v1/recognize
,我通过https://iam.bluemix.net/identity/token
获得了访问令牌。现在,当我使用值为Authorization
的{{1}}头打开套接字连接时,会收到错误的握手响应:Bearer token
。语言就是Go。
我是在做错什么,还是没有用户名/密码身份验证即不推荐使用的websocket: bad handshake, Unauthorized 401
,就无法将Watson的语音连接到文本WebSocket吗?
编辑:
打开WebSocket的代码:
watson-token
我还尝试了headers := http.Header{}
headers.Set("Authorization", "Bearer " + access_token)
conn, resp, err := websocket.DefaultDialer.Dial("wss://stream-fra.watsonplatform.net/text-to-speech/api/v1/recognize", headers)
的基本授权,结果是相同的:apikey:**api_key**
。
编辑2:
获取访问令牌(基于Watson Swift和Python SDK)的代码,该代码成功并返回访问和刷新令牌:
401
答案 0 :(得分:0)
我在端点中出错,并使用了文本到语音而不是语音到文本。使用正确的URL,WebSocket API可以正常工作。
wss://stream-fra.watsonplatform.net/text-to-speech/api/v1/recognize
应该是wss://stream-fra.watsonplatform.net/speech-to-text/api/v1/recognize