Alexa SDK v2的响应错误无效

时间:2018-05-02 07:49:53

标签: aws-lambda alexa alexa-skills-kit

现在2天,我遇到的问题是我的lambda函数使用ask-sdk-core v2.0.2会返回无效的响应。

一个非常简单的设置:

HelloIntentHelloIntentHandler处理:

const HelloIntentHandler = {
    canHandle(handlerInput) {
        return handlerInput.requestEnvelope.request.type === 'HelloIntent';
    },
    handle(handlerInput) {
        const speechText = 'Hello back';

        return handlerInput.responseBuilder
            .speak(speechText)
            .reprompt(speechText)
            .getResponse();
    }
};

当我调用此意图时,模拟器直接进入:

  

请求技能的回复存在问题

使用ErrorHandler,我检查了handlerInput.requestEnvelope.request.error的结果是:

{ type: 'INVALID_RESPONSE',
message: 'An exception occurred while dispatching the request to the skill.' }

问题:这里有什么问题?当我使用调用名称打开技能时,LaunchRequestHandler被调用并正确响应,但任何其他意图都不起作用。

1 个答案:

答案 0 :(得分:0)

好的,我发现了这个问题,从上面的错误中删除很难:

canHandle(handlerInput) {
    return handlerInput.requestEnvelope.request.type === 'IntentRequest'
        && handlerInput.requestEnvelope.request.intent.name === 'HelloIntent';
},

canHandle函数中,您需要检查请求类型和意图名称。