我正在尝试设置 IBM Watson Speech-to-Text 以在我的 Angular 前端中运行。我正在使用德语 Attanasio 的 Speech -javascript-sdk库。我希望脚本文本进入控制台,因此我使用了麦克风流对象到控制台.html示例。这是我的代码:
const options = {
token: $scope.token,
model: 'en-US_BroadbandModel',
word_confidence: true,
object_mode: true
};
var stream = WatsonSpeech.SpeechToText.recognizeMicrophone(options);
我得到的错误是
watson-speech.js:10482 WebSocket connection to 'wss://stream.watsonplatform.net/speech-to-text/api/v1/recognize?model=en-US_BroadbandModel&watson-token=[object%20Object]' failed: HTTP Authentication failed; no valid credentials available
我的猜测是我的令牌格式不正确。IAM 不记名令牌作为 JSON 对象提供:
{
access_token: "eyJraWQiOiIyMDIwMDIyNTE4MjgiLCJhbGciOiJSUzI1NiJ9.e…",
expiration: 1585264266,
expires_in: 3600,
refresh_token: "OKA5toCaoVmYsPbwpjARE1971xspAe7Xg5nOm9pRrLKjKgaubr…",
scope: "ibm openid",
}
我尝试提供裸露的 access_token,并尝试提供 JSON 对象。两者都导致相同的错误消息。哪种格式是正确的?
我options
是否正确设置了对象?是object_mode
还是objectMode
?
我不明白Object.assign(token,
示例代码中的含义。