繁体   English   中英

如何使用对话框流程中的实现来存储用户输入

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM