【发布时间】:2020-11-08 10:22:23
【问题描述】:
这是我的服务器中的代码:
const express = require('express');
const bodyParser = require('body-parser');
const appExpress = express().use(bodyParser.json());
const {
dialogflow,
Image,
} = require('actions-on-google')
const app = dialogflow()
appExpress.post('/hook', express.json() ,(req, res) => {
app.intent('MyIntent', conv => {
conv.ask('Hi, how is it going?')
});
});
appExpress.listen(3333, ()=>console.log("Server is live at port 3333"));
当我运行它时,它不会返回任何错误(我看到消息“服务器处于活动状态..”),而且当我向我的机器人发送带有意图“MyIntent”的消息时,我没有收到任何错误,但也没有响应..
如果我查看诊断信息,在履行状态下会出现以下错误:
Webhook 调用失败。错误:DEADLINE_EXCEEDED。
我做错了什么?
【问题讨论】:
-
您是否检查了实现的 webhook 服务以实现记录的requirements?
-
是的@Nick_Kh,当我使用“dialogflow-fulfillment”库返回响应时,它实际上工作正常。但现在我需要使用“actions-on-google”库,但我没有得到我需要更改的内容以使其工作..
-
这能回答你的问题吗?它是一个 actionsSdk 示例,但 Dialogflow 集成应该以相同的方式工作。您应该设置 Dialogflow 对象来处理 req、res 参数。 Create actions-on-google object from Express request
-
嗨@Jordi,我试过了,但现在我收到错误“找不到句柄名称的处理程序”但我使用的名称实际上是我的意图之一的名称..
-
@onaizit,你能分享一下你用来检索 req,res 参数的代码吗?
标签: node.js dialogflow-es webhooks actions-on-google dialogflow-es-fulfillment