Dialogflow es 如何使用webhook检测DialogFlow中的挂断卡点击事件?

Dialogflow es 如何使用webhook检测DialogFlow中的挂断卡点击事件?,dialogflow-es,webhooks,dialogflow-es-fulfillment,hangouts-api,Dialogflow Es,Webhooks,Dialogflow Es Fulfillment,Hangouts Api,我已经在Dialogflow中创建了一个动态卡,它应该显示在窗口中。以下是我在自定义负载下的Dialogflow responses中创建的自定义卡: { “闲逛场所”:{ “标题”:{ “imageUrl”:“imageUrl”, “标题”:“您好,选择您的选择?” }, “章节”:[ { “小部件”:[ { “按钮”:[ { “文本按钮”:{ “文本”:“卡片”, “onClick”:{ “行动”:{ “actionMethodName”:“CardResponder” } } } }, {

我已经在Dialogflow中创建了一个动态卡,它应该显示在窗口中。以下是我在自定义负载下的Dialogflow responses中创建的自定义卡:

{
“闲逛场所”:{
“标题”:{
“imageUrl”:“imageUrl”,
“标题”:“您好,选择您的选择?”
},
“章节”:[
{
“小部件”:[
{
“按钮”:[
{
“文本按钮”:{
“文本”:“卡片”,
“onClick”:{
“行动”:{
“actionMethodName”:“CardResponder”
}
}
}
},
{
“文本按钮”:{
“文本”:“现金”,
“onClick”:{
“行动”:{
“actionMethodName”:“现金应答器”
}
}                  
}
}
]
}
]
}
]
}
}
这张卡片看起来像这样。

在webhook代码中,我的切入点是:

app.post('/',express.json(),(req,res)=>{
if(req.body.queryResult.intent.displayName==“PaymentIntent”){
........
}    
});
当我点击我的hangouts动态卡上的“现金”或“卡”按钮时,我无法检测到事件。我在actionMethodName参数中也定义了函数名。但我不知道如何在我的webhook代码中编写该函数。请帮帮我

更新

app.post('/', express.json(), (req,res)=>{
    console.log(req.body);
    console.log(req.body.action.actionMethodName);
    
});
我正在试图安慰req.body,它给了我

originalDetectIntentRequest: { source: 'hangouts', payload: { data: [Object] } },
req.body.action.actionMethodName提供未定义的

当我试着点击hangouts卡上的按钮时,它给了我这个错误-无法联系hangouts机器人。请稍后再试


hangouts机器人是我的云项目的名称。我不知道如何在我的node js代码中接收单击请求。

从你的问题中,我不知道你是否真的收到了请求,也不知道如何管理该请求,或者根本没有收到请求。请尽量澄清这一点。如果是前者,你应该试着阅读。@Raserhin我在我的帖子中添加了更新。当我点击卡片上的按钮时,我不确定如何在我的代码中接收到该按钮。您是否可以展开
数据
对象。也许您应该尝试从该
有效负载中获取
actionMethodName
,而不是直接从主体中获取。