[英]How to detect a returning user to Google Assistant on Android in Dialogflow fulfillments?
[英]How to store user inputs using fulfillments in dialogflow
我正在尝试为Google Home开发一款能够吸引用户的体重并将其反馈给他们的应用。 以下是负责执行此操作的意图的index.js代码,
const functions = require('firebase-functions');
const {dialogflow} = require('actions-on-google');
const app = dialogflow({
debug: true,
});
app.intent('vitals-weight', (conv) => {
const weight = conv.parameters['weight'];
const weight_name = conv.parameters['weight-name'];
conv.ask('I have recorded that your weight is, ${weight} and ${weight-name}.');
exports.dialogflowFirebaseFulfillment = functions.https.onRequest(app);
“ weight”和“ weight-name”是意图中分别存储重量和重量单位的实体。 尝试处理用户数据时,这是正确的方法吗?
您的代码中目前存在多个错误。
首先,我假设是粘贴错误。 该函数没有右括号或括号。 既然您说函数正在被调用,所以我假设这实际上在您的代码中。
您对conv.ask()
调用存在一些逻辑错误。
第一个是您使用单引号(或撇号),但尝试在其中进行表达式求值( ${}
部分)。 仅使用反引号引起来的表达式评估。
此外,您还有一个表达式${weight-name}
,我认为您正在尝试使用它来访问weight-name
参数(带连字符)。 但是,您已经将该参数的值分配给了一个名为weight_name
的变量(带有下划线)。 您也这样做也是一件好事,因为${weight-name}
被评估为“重量减去名称”,而不是其中带有连字符的变量,这是不允许的。 您可能需要在那儿${weight_name}
。
所以那条线看起来应该更像
conv.ask(`I have recorded that your weight is, ${weight} and ${weight_name}.`);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.