我有一个非常简单的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
}
]
}
}
}
发布于 2019-06-20 19:43:02
你从你的调用短语开始了吗?
例如,对于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>
发布于 2019-07-11 20:46:09
检查Alexa模拟器中使用的语言是否与为交互模型设置的语言相匹配。
例如,当交互模型设置为English (US)
时,您的模拟器可能正在使用English (UK)
。如果是这种情况,最简单的解决方案是切换Alexa模拟器语言以匹配交互模型中使用的语言。
这也解释了为什么它通过AWS lambda函数和从Alexa开发人员控制台发送手动JSON请求时都能像预期的那样工作-它们不依赖于语言集。
https://stackoverflow.com/questions/56600112
复制相似问题