IBM Watson语音对带有IAM API密钥的WebSocket授权文本

时间:2018-12-13 16:15:53

标签: websocket speech-recognition ibm-watson speech-to-text

我正在尝试使用仅具有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

1 个答案:

答案 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