Alexa技能未在Alexa模拟器中返回任何内容

时间:2019-06-14 14:23:59

标签: alexa alexa-skill

我有一个非常简单的Alexa技能。它有一个意图,即一个意图调用AWS lambda中的一个函数并正确返回响应。当我在lambda控制台中进行测试时,一切正常,当我直接从Alexa开发人员控制台发送JSON时,一切正常,但是当我使用Alexa模拟器时,没有任何响应。

JSON输入和输出均为空白,我得到的调试信息看起来像伪代码:

{
    "header": {
        "namespace": "SkillDebugger",
        "name": "CaptureDebuggingInfo",
        "messageId": "caa2b8e4-d26b-4946-9063-b72b4261b50b"
    },
    "payload": {
        "skillId": null,
        "timestamp": "2019-06-14T14:15:13.140Z",
        "dialogRequestId": "bfb2ff84-59b8-4bc4-9826-85453fc7c290",
        "skillRequestId": null,
        "type": "ConsideredIntents",
        "content": {
            "intents": [
                {
                    "name": "<IntentForDifferentSkill>",
                    "confirmationStatus": null,
                    "slots": null
                },
                {
                    "name": "<IntentForDifferentSkill>",
                    "confirmationStatus": null,
                    "slots": null
                },
                {
                    "name": "<IntentForDifferentSkill>",
                    "confirmationStatus": null,
                    "slots": null
                }
            ]
        }
    }
}

2 个答案:

答案 0 :(得分:0)

您是从调用短语开始的吗?

例如对于python hello world示例技能,您可以通过以下对话框进行测试:

<pre>
$ask dialog --locale en-US
  User  >  open greeter
  Alexa >  Welcome to the Alexa Skills Kit, you can say hello!
  User  >  hi!
  Alexa >  Hello Python World from Decorators!
---------- Skill Session Ended ----------
  User  >
</pre>

答案 1 :(得分:0)

检查Alexa模拟器中使用的语言是否与为交互模型设置的语言匹配。

例如,当交互模型设置为English (UK)时,您正在使用模拟器English (US)。如果是这种情况,最简单的解决方案是切换Alexa仿真器语言以使其与交互模型中使用的语言相匹配。

这也将解释为什么它通过AWS lambda函数以及从Alexa开发人员控制台发送手动JSON请求时都能按预期工作的原因-他们不依赖于语言集。