如何处理履行代码中的给定名称参数?

时间:2019-01-01 18:00:19

标签: node.js dialogflow actions-on-google dialogflow-fulfillment

我已经在Dialogflow Web界面中创建了一个意图。它自动检测到一个名为给定名称的参数,该参数在Web界面中将其列为$given-name。我试图在由Web界面提供的实现内联编辑器中解决$given-name,但是没有成功。

我尝试将参数名称更改为驼峰大小写,也尝试使用下划线替换连字符,但似乎都不起作用。

这是dialogflow实现内联编辑器中的代码段:

'use strict';

// Import the Dialogflow module from the Actions on Google client library.
const {dialogflow} = require('actions-on-google');

// Import the firebase-functions package for deployment.
const functions = require('firebase-functions');

// Instantiate the Dialogflow client.
const app = dialogflow({debug: true});

// Can't address given-name, intentionally used an underscore 
app.intent('run demo', (conv, {given_name}) => {
conv.close('Hi ' + given_name +'! This is the demo you asked me to run!');
});

// Set the DialogflowApp object to handle the HTTPS POST request.
exports.dialogflowFirebaseFulfillment = functions.https.onRequest(app);

我想知道在代码部分app.intent('run demo', (conv ...);

中处理给定名称参数的正确方法

1 个答案:

答案 0 :(得分:1)

解决方案

我找到的一个解决方案是这段代码:

  <ListView
    android:layout_width="match_parent"
    android:divider="#D3D3D3" //divider color 
    android:dividerHeight="1dip" // Height
    android:layout_height="wrap_content"
    android:id="@+id/myListId" 
    />

说明

android:isScrollContainer="true" android:choiceMode="singleChoice" android:scrollbarSize="100px" 中的app.intent('run demo', (conv, params) => { conv.close('Hi ' + params['given-name'] +'! This is the demo you asked me to run!'); }); 实际上是一个匿名的回调函数(又名匿名回调函数)。 (conv, params) => {...}app.intent('run demo',...是传递给回调函数的参数/参数。函数的定义似乎在API的以下页面上:Callable。它统计可以传递的参数/参数可以是convparamsconvparams

最终想法

用于Google的操作的API文档提供了帮助:actions on google api reference link