Alexa App Express 缺少 OutputSpeech 作为响应



我正在尝试使用 npm 包"alexa-app"构建一个 alexa 应用程序。我写了以下意图。

alexaApp.intent("MyIntent", {
    "slots": {},
    "utterances": ["Tell me a quote"]
},
function(request, response) {
    req('http://exampleUrl.com', function (error, res, body) {
        if (!error && res.statusCode == 200) {
            var obj = JSON.parse(body);
            var message = obj.value;
            response.say(message);
        }
    });

});

当我测试我的技能时,输出语音丢失,服务响应如下所示。从 url 获取数据是有效的。

{ "version": "1.0", "response": { "shouldEndSession": true }, "sessionAttributes": {} }

如果我尝试在外部函数中使用 response.say((,我会得到这样的正确服务响应,但当然没有消息。任何人都可以帮助我,用我的消息返回正确的服务响应吗?

{ "version": "1.0", "response": { "outputSpeech": { "type": "SSML", "ssml": "<speak></speak>" }, "shouldEndSession": true }, "sessionAttributes": {} }

你应该添加

response.send();

response.say(message);

通过使用 Promise 解决了这个问题。

最新更新