#dialogflow-es #webhooks #dialogflow-es-fulfillment #hangouts-api
#dialogflow-es #webhooks #dialogflow-es-выполнение #hangouts-api
Вопрос:
Я создал динамическую карточку в Dialogflow, которая должна отображаться в hangouts. Вот пользовательская карточка, которую я создал в ответах Dialogflow в разделе пользовательская полезная нагрузка:
{
"hangouts": {
"header": {
"imageUrl": "imageurl",
"title": "Hi, Select your choice ?"
},
"sections": [
{
"widgets": [
{
"buttons": [
{
"textButton": {
"text": "Card",
"onClick": {
"action": {
"actionMethodName": "CardResponder"
}
}
}
},
{
"textButton": {
"text": "Cash",
"onClick": {
"action": {
"actionMethodName": "CashResponder"
}
}
}
}
]
}
]
}
]
}
}
Карта выглядит так в hangouts.
карта
В коде webhook моя точка входа такова:
app.post('/', express.json(), (req,res)=>{
if(req.body.queryResult.intent.displayName == "PaymentIntent"){
........
}
});
Я не могу обнаружить событие, когда нажимаю на кнопку «Наличные» или «Карта» на своей динамической карте hangouts. Я также определил имя функции в параметре ActionMethod Name. Но я не уверен, как написать эту функцию в моем коде 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.ActionMethod name дает неопределенное значение.
Когда я пытаюсь нажать кнопку в карточке hangouts, это выдает мне эту ошибку — невозможно связаться с hangouts-bot. Повторите попытку позже.
hangouts-bot — это название моего облачного проекта. Я не знаю, как получить запрос на нажатие в моем js-коде узла.
Комментарии:
1. Из вашего вопроса я не знаю, действительно ли вы получаете запрос, и вы не знаете, как управлять этим запросом, или вы вообще не получаете запрос. Попробуйте прояснить это, пожалуйста. Если это первое, вам следует попытаться прочитать документацию об этом .
2. @Raserhin Я добавил обновление в свой пост. Когда я нажимаю кнопку на карточке, я не уверен, как я могу получить это в своем коде.
3. Не могли бы вы подробнее рассказать об
data
объекте. Возможно, вам следует попытаться получитьactionMethodName
от этогоpayload
, а не напрямую из тела.