Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Aws lambda Alexa(Lambda)在说了一句话后没有返回StopIntent;退出“;_Aws Lambda_Exit_Alexa - Fatal编程技术网

Aws lambda Alexa(Lambda)在说了一句话后没有返回StopIntent;退出“;

Aws lambda Alexa(Lambda)在说了一句话后没有返回StopIntent;退出“;,aws-lambda,exit,alexa,Aws Lambda,Exit,Alexa,长话短说 我从事实蓝图“空间事实”开始了一项简单的技能 创建了一个常量-> const WELCOME\u MESSAGE=“欢迎!你想要一个空间事实吗?” 并将LaunchRequest与IntentRequest分开(因此,用户可以说“开放空间事实”或说“开放空间事实并说一个事实”) *现在,如果我只是通过说“开始空间技能”来开始技能。。。 我收到了欢迎信息和“shouldEndSession”:如预期为假 但如果我此时说“退出”,我将收到: “请求的技能的响应有问题” 我的JSON输入显

长话短说

  • 我从事实蓝图“空间事实”开始了一项简单的技能

  • 创建了一个常量->

    const WELCOME\u MESSAGE=“欢迎!你想要一个空间事实吗?”

  • 并将LaunchRequest与IntentRequest分开(因此,用户可以说“开放空间事实”或说“开放空间事实并说一个事实”)

  • *现在,如果我只是通过说“开始空间技能”来开始技能。。。 我收到了欢迎信息和“shouldEndSession”:如预期为假

    但如果我此时说“退出”,我将收到:

    “请求的技能的响应有问题”

    我的JSON输入显示预期的“SessionEndRequest”

    但是我得到了一个“null”JSON输出

    -我做了一些研究,发现了这个

    -我也试过像这样的“未处理的”。。。但还是没有运气

        'Unhandled': function () {
        this.emit('AMAZON.StopIntent');  },
    

    因为这个原因,我的技能今天被拒绝了,所以我想修复它并再次上传。

    再次向您问好,谢谢您抽出时间

    重新阅读通过电子邮件收到的认证反馈后,问题是
    在说“停止”而不是说“退出”后不返回StopIntent

    根据我现在的理解,“停止”、“取消”、“退出”和“退出”这些词都有自己的预定义功能,其中:

    -当用户说“停止”时,它应该指向“StopIntent”

    -当用户说“取消”时,它应该指向“CancelIntent”

    -在说了“退出”或“退出”之后,应该是用户用“SessionEndRequest”强制关闭,但没有得到任何回答

    因此,这些词语不应包含在StopIntent、CancelIntent、HelpIntent或NavigateHomeIntent内的示例话语中。此外,如果前面的任何陈述都不起作用,那么您就不能通过认证

    经过一些分析,我的问题不在Lambda内部,而是来自我的技能表达。问题的原因是在StopIntent和CancelIntent中添加了“退出”和“停止”字样

    根据我的测试,如果在StopIntent中包含或不包含“stop”一词,没有区别,但是如果在StopIntent和CancelIntent中包含“stop”一词,则会导致干扰,并且没有答案

    现在我重新提交了我的技能,希望它能很快上传。 我写这篇文章是为了防止像我这样的新手陷入同样的境地。
    再次感谢您,祝您愉快

    再次向您问好,谢谢您抽出时间

    重新阅读通过电子邮件收到的认证反馈后,问题是
    在说“停止”而不是说“退出”后不返回StopIntent

    根据我现在的理解,“停止”、“取消”、“退出”和“退出”这些词都有自己的预定义功能,其中:

    -当用户说“停止”时,它应该指向“StopIntent”

    -当用户说“取消”时,它应该指向“CancelIntent”

    -在说了“退出”或“退出”之后,应该是用户用“SessionEndRequest”强制关闭,但没有得到任何回答

    因此,这些词语不应包含在StopIntent、CancelIntent、HelpIntent或NavigateHomeIntent内的示例话语中。此外,如果前面的任何陈述都不起作用,那么您就不能通过认证

    经过一些分析,我的问题不在Lambda内部,而是来自我的技能表达。问题的原因是在StopIntent和CancelIntent中添加了“退出”和“停止”字样

    根据我的测试,如果在StopIntent中包含或不包含“stop”一词,没有区别,但是如果在StopIntent和CancelIntent中包含“stop”一词,则会导致干扰,并且没有答案

    现在我重新提交了我的技能,希望它能很快上传。 我写这篇文章是为了防止像我这样的新手陷入同样的境地。
    再次感谢您,祝您愉快

    我不确定发生了什么,但“:ask”事件必须有两个参数。第一个是提示,第二个是重新提示。我知道你只提供了一个。这可能就是问题所在。来自文档:
    this.emit(':ask',speechOutput,repromptSpeech)我不确定发生了什么,但是“:ask”事件必须有两个参数。第一个是提示,第二个是重新提示。我知道你只提供了一个。这可能就是问题所在。来自文档:
    this.emit(':ask',speechOutput,repromptSpeech)
    
        "request": {
        "type": "SessionEndedRequest",
        "requestId": "amzn1.echo-api.request.c6ea8178-3cdb-4119-ae73-e8ea86ebba6d",
        "timestamp": "2018-09-25T01:14:05Z",
        "locale": "en-US",
        "reason": "USER_INITIATED"
    }
    
        'Unhandled': function () {
        this.emit('AMAZON.StopIntent');  },