首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >调查Monkey Webhook

调查Monkey Webhook
EN

Stack Overflow用户
提问于 2018-09-10 03:44:43
回答 2查看 662关注 0票数 3

在创建webhook之后,当我填写表单时,它会向我的API发送一个POST请求,但主体是空的。

我在互联网上找不到任何东西,SM文档还有很多需要改进的地方。

我的API

代码语言:javascript
复制
async testWebhook({ request, response }) {
   console.log('request.body', request.body)
   response.status(200).send()
   return
}

那会是什么呢?

EN

回答 2

Stack Overflow用户

发布于 2019-02-26 00:55:07

如果您的应用程序在Express.js上运行,我找到了答案

Survey Monkey Webhook帖子声明了一个头'application/vnd.surveymonkey.response.v1+json‘

如果您不在Express中处理此问题,则request.body对象将为空。

您可以使用body-parser并定义header:

代码语言:javascript
复制
app.use(bodyParser.json({
    type: 'application/vnd.surveymonkey.response.v1+json'
}));

请参阅此处的文档- body-parser types

我还应该提一下,当我用Survey Monkey创建我的Webhook时,我确实包含了“内容类型”,但直到我在应用程序中添加了这个额外的配置,它才开始显示我的POST数据。

Webhook创建示例:

代码语言:javascript
复制
{
    "name": "My Survey Completed Webhook",
    "event_type": "response_completed",
    "object_type": "survey",
    "object_ids": ["1234"],
    "subscription_url": "https://APP_URL/survey-responses",
    "content_type": "application/json"
}
票数 5
EN

Stack Overflow用户

发布于 2018-09-16 23:12:59

主体应该有一个JSON,其主体类似于示例。一个可能的问题是,来自SurveyMonkey的webhook发送带有自定义内容类型标头的正文,例如application/vnd.surveymonkey.survey.v1,这可能与您的服务器不兼容。

我不确定它是否有文档,但你可以在创建webhook时通过在正文中包含application/json来指定内容类型:

代码语言:javascript
复制
POST /v3/webhooks
{
  ...
  "content_type": "application/json"
}

这可能会使它工作,而不需要对服务器中的正文解析器设置进行任何更改。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52248105

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档