我有一个非常简单的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
}
]
}
}
}
答案 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请求时都能按预期工作的原因-他们不依赖于语言集。