gpt4 book ai didi

javascript - 从 Typeforms webhook 解析原始正文时出现问题

转载 作者:行者123 更新时间:2023-11-28 18:28:13 25 4
gpt4 key购买 nike

我正在使用 Typeform webhook feature每当有人点击嵌入式调查上的提交按钮时,我都会生成 JSON 格式的结果,并且当我使用像 RequestBin 这样的服务时,我得到的结果与文档描述的完全一样。 ,但是当我通过命令使用 ngrok 公开我的本地应用程序时

ngrok http 3000

然后将底层路由设置为 webhook 目标 URL,我得到的输出并不令人满意。这是 Express 中的路线:

app.post('/receiveWebhook', function(req, res){
console.log(req);
console.log(req.title);
res.send(200);
});

这会产生服务器端输出:

IncomingMessage {
_readableState:
ReadableState {
objectMode: false,
highWaterMark: 16384,
buffer: [],
length: 0,
pipes: null,
pipesCount: 0,
flowing: null,
ended: false,
endEmitted: false,
reading: false,
sync: true,
needReadable: false,
emittedReadable: false,
....
body: {},
params: {},
...
(can post the entire contents on Dropbox if comments think it is necessary)

当我使用 Postman 到达路线时,有趣的是,原始正文中的唯一输出是:

{"title": "Test"}

它没有被我上面发布的 Express 路由中的 console.log 语句验证。

对于为什么我会通过 RequestBin 接收有用数据但不会在本地应用程序的实际服务器端接收它有什么想法吗?

最佳答案

您似乎错误地使用了该请求(以快速方式)。 Typeform Webhook 会将结果作为请求正文,因此您需要使用 body-parser 来获取正确的数据。

看这里:https://github.com/TypeformIO/SimpleLiveReports/blob/master/index.js

重要部分:

包括正文解析器

var bodyParser = require('body-parser')

将其用作中间件

app.use(bodyParser.json());

使用req.body来使用数据,例如:

app.post('/receive_results', function handleReceiveResults(req, res) {
console.log('得到结果!');
var body = req.body;
saveAnswers(body.token, body.answers, body.uid);
res.send('好的!');
});

通过此设置,req.body 应包含提交的结果。如果仍然不起作用,请告诉我!

关于javascript - 从 Typeforms webhook 解析原始正文时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38686151/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com