我托管了一个nodejs webservice来处理我的Dialogflow Webhook请求。 我正在使用Express并且我处理任何POST请求(我做的第一件事就是将传入的POST请求登录到控制台)。
'use strict';
var express = require('express');
var bodyParser = require('body-parser');
const http = require('http');
var app = express();
app.use(bodyParser.json());
app.post('*', function(req, res) {
console.log(JSON.stringify(req.body));
[...]
我的NodeJS服务通过Apache ReverseProxy(.htaccess)暴露给我的域,并且我的域名有一个有效的Let' s加密SSL证书。
RewriteRule ^(.*) http://localhost:63333/$1 [P]
当我通过Postman测试我的服务时,我看到在节点控制台上记录了请求,并且发送了正确的响应。
但是当我想在Dialogflow中使用它作为Webhook Fulfillment时,Dialogflow会向我显示这种状态,我甚至不会看到POST-Request进入我的Nodejs App / Console:
[...]
"status": {
"code": 206,
"errorType": "partial_content",
"errorDetails": "Webhook call failed. Error: Webhook response was empty.",
"webhookTimedOut": false
}
[...]
在我看来,至少有一个请求应该来到我的服务器? 有人可以帮我吗?
非常感谢。