IBM Watson Speech-to-Text Speech-to-Text Speech-javascript-sdk "Ошибка HTTP-аутентификации; действительные учетные данные отсутствуют"
Я пытаюсь настроить IBM Watson Speech-to-Text для работы в моем интерфейсе Angular. Я использую библиотеку German Attanasio Speech -javascript-sdk. Я хочу, чтобы текст транскрипции отправлялся на консоль, поэтому я использую пример микрофона-streaming-object-to-console.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,
означает в примере кода.
1 ответ
У меня была такая же проблема, и я обнаружил, что решение работает отлично:
В константе 'options' вам нужно изменить поле 'token' на 'accessToken', и оно должно работать.
НОТА:
Поле 'модель' в 'опциях' имеет значение по умолчанию, но если вы хотите изменить его, вам нужно установить значение 'модель' и 'лагаж',
const params = {
accessToken: 'token'
format: true,
extractResults: true,
objectMode: true,
model:'es-MX_BroadbandModel',
laguage: 'es-MX'
};