从 webhook 传入的 twilio 正文中没有消息

Posted

技术标签:

【中文标题】从 webhook 传入的 twilio 正文中没有消息【英文标题】:No message in incoming twilio body from webhook 【发布时间】:2019-06-01 15:37:10 【问题描述】:

在我阅读的所有 twilio 文档和示例中,来自传入 sms webhook 的传入正文具有“消息”属性,但我得到的只是一个单一的、丑陋的字符串。

// incoming request

    "body":"ToCountry=US&ToState=CA&SmsMessageSid=SMa40a4ba8fec941e6636ebd82aabxxx&NumMedia=0&ToCity=LAYTONVILLE&FromZip=45251&SmsSid=SMa40a4ba8fec941e6636ebd82aab1a080&FromState=OH&SmsStatus=received&FromCity=CINCINNATI&Body=message4321&FromCountry=US&To=%2B17074140303&ToZip=95417&NumSegments=1&MessageSid=SMa40a4ba8fec941e6636ebd82aab1a080&AccountSid=ACb237933f0f845f5cbe9fcbe67d3b604e&From=%2B15135057457&ApiVersion=2010-04-01",
    ...

我想要的是这个字段Body=message4321,但我必须解析一个字符串才能这样做。

我觉得我做错了什么。为什么它看起来像查询参数?我通过输入我的电话号码来设置 webhook,然后在消息下显示“A message come in Webhook POST https://my-url”

【问题讨论】:

【参考方案1】:

我猜 twilio 将表单作为类型发送:application/x-www-form-urlencoded。使用 qs npm 包是最简洁的解析方式。

qs.parse(queryString).Body;

【讨论】:

这完全正确。您可以像这样解析正文,或者如果您使用的是 express,请查看使用 body-parser 自动解析传入的请求正文。

以上是关于从 webhook 传入的 twilio 正文中没有消息的主要内容,如果未能解决你的问题,请参考以下文章

使用 Zapier Webhook 触发 Twilio 工作室流程

为 Twilio 创建 PHP webhook 的问题

使用 webhook 在 twilio 中触发获取请求

获取 Particle Photon 和 Twilio 之间的 webhook

如何使用 Google 工作表脚本将 twilio 控制台内的 sms webhook 中的功能切换为控制台中的另一个功能?

Twilio - X-Twilio-Signature - 传入请求验证