为什么 app.intent 在 actions-on-google 中抛出错误(格式错误的响应)
Why app.intent throws error (malformed response) in actions-on-google
我正在为我的动作添加一张基本卡片,并且在模拟器中测试时,出现错误 Malformed response, final_response must be set
这是网络钩子:
app.intent('Selected subjects', (conv, {Subject}) => {
subject = conv.arguments.get('OPTION') || Subject;
if (!conv.screen) {
conv.close(subjectCard[Subject].text);
} else {
conv.close(`Maybe this would help`, new BasicCard(subjectCard[Subject]));
}
});
有几个问题。首先,您必须在意图处理程序中执行 conv.close
或 conv.ask
。在您的代码中,当 conv.screen
为真时,您的函数似乎都没有。要修复它,请将 else 子句更改为:
else {
conv.close(new BasicCard(...));
}
第二个问题是您没有实例化 BasicCard
,这已在我上面的代码片段中修复。
这是一个非常常见的错误,我建议阅读 Debugging Common Actions on Google Errors 以获取有关如何调试的提示和技巧。
如果有人在这方面遇到问题,请使用 firebase,转到“功能”,然后转到“运行状况”。这将描述错误的确切行和代码。例如,在这个中,单词 "subject" 没有被标记为 var,因此导致错误。我建议使用 firebase,因为 Firebase 控制台会描述未在终端/cmd/命令行等上显示的错误。
我正在为我的动作添加一张基本卡片,并且在模拟器中测试时,出现错误 Malformed response, final_response must be set
这是网络钩子:
app.intent('Selected subjects', (conv, {Subject}) => {
subject = conv.arguments.get('OPTION') || Subject;
if (!conv.screen) {
conv.close(subjectCard[Subject].text);
} else {
conv.close(`Maybe this would help`, new BasicCard(subjectCard[Subject]));
}
});
有几个问题。首先,您必须在意图处理程序中执行 conv.close
或 conv.ask
。在您的代码中,当 conv.screen
为真时,您的函数似乎都没有。要修复它,请将 else 子句更改为:
else {
conv.close(new BasicCard(...));
}
第二个问题是您没有实例化 BasicCard
,这已在我上面的代码片段中修复。
这是一个非常常见的错误,我建议阅读 Debugging Common Actions on Google Errors 以获取有关如何调试的提示和技巧。
如果有人在这方面遇到问题,请使用 firebase,转到“功能”,然后转到“运行状况”。这将描述错误的确切行和代码。例如,在这个中,单词 "subject" 没有被标记为 var,因此导致错误。我建议使用 firebase,因为 Firebase 控制台会描述未在终端/cmd/命令行等上显示的错误。