Здравствуйте! Я хочу подключить своего помощника Уотсона к устройству alexa, для этого мне понадобится набор навыков для разработки Amazon и лямбда-амба AWS.Но я не могу подключиться к Уотсону, потому что у меня возникли проблемы с моими обещаниями, и я не вижу журналы своего кода в консоли разработчика Amazon.И мой помощник работает над приложением nodeJs.
Есть заголовки моего watson:
const assistant = new AssistantV2({
version: '2019-02-28',
iam_apikey: 'apiSecretKey',
url: 'https://gateway-lon.watsonplatform.net/assistant/api'
});
const assistant_id = "assistantIDSecret" ;
Есть несколько кодов, которые я пробовал:
const MyNameIsIntentHandler = {
canHandle(handlerInput) {
return handlerInput.requestEnvelope.request.type === 'IntentRequest'
&& handlerInput.requestEnvelope.request.intent.name === 'SearchIntent';
},
async handle(handlerInput) {
assistant.createSession({
assistant_id: assistant_id
})
.then(res => {
session_id = res.session_id;
})
.catch(err => {
console.log(err);
});
assistant.message({
assistant_id: assistant_id,
session_id: session_id,
input: {
'message_type': 'text',
'text': "hello"
}
})
.then(res => {
console.log(JSON.stringify(res, null, 2));
speechText = res.output.generic.response.text;
})
.catch(err => {
speechText = err;
});
}, function(err){
speechText = "Problem with Api call";
});
return handlerInput.responseBuilder
.speak(speechText)
.getResponse();
},
};
Я пыталсячтобы заменить, поймать в ожидании:
try{
let res = await assistant.createSession({
assistant_id: assistant_id
});
session_id = res.session_id;
let message = await assistant.message({
assistant_id: assistant_id,
session_id: session_id,
input: {
'message_type': 'text',
'text': "hello"
}
});
speechText = message.output.generic.response.text;
}catch(err){
speechText = err;
}
Результаты speechText должны дать мне «Добрый день», это ответ, который приходит от Watson.но теперь Алекса говорит: «Извините, я не могупонять команду. Пожалуйста, скажите еще раз. "
У вас есть другие способы попробовать это?спасибо!