我目前正在使用Google Cloud Functions,Firebase构建一个DialogFlow聊天机器人 . 这一切都很好,但我想不要使用firebase,我想使用Heroku,我怎么能让DialogFlow向Heroku服务发出请求 .
我已经知道我应该添加heroku的URL,并且必须是HTTPS和正确的响应格式 .
我不知道的是,如何在DailogFlow和使用node.js的Heroku之间 Build 连接,以便我可以发送响应,例如:
sendResponse('Hello, this is responsing from Heroku')
使用firebase我必须有这样的函数:
exports.dialogflowFirebaseFulfillment = functions.https.onRequest((request, response) => {
console.log('Dialogflow Request headers: ' + JSON.stringify(request.headers));
console.log('Dialogflow Request body: ' + JSON.stringify(request.body));
if (request.body.result) {
processV1Request(request, response);
} else if (request.body.queryResult) {
// processV2Request(request, response);
} else {
console.log('Invalid Request');
return response.status(400).end('Invalid Webhook Request (expecting v1 or v2 webhook request)');
}
});
在使用Firebase外,我不知道我是否需要这个,在这种情况下Heroku!因为我没有使用firebase这个代码会发生什么:
functions.https.onRequest((request, response) => {
如果我不使用firebase,我没有“函数”变量 .
1 回答
大多数代码可以不加改变地使用 - Firebase Cloud 函数使用node.js / express.js,而Dialogflow库假定请求和响应对象是来自带有JSON正文解析器中间件的express.js的对象 .
有问题的行是让Firebase Cloud Functions处理器发现并处理它的语法糖 . 所以你会替换那条线
有更像这样的东西