javascript - 记录传入消息 twilio node.js
问题描述
我有这个基本功能,可以将消息发送回给我的 Twilio 号码发送消息的用户。
因此,如果该号码1234567890
向我的 twilio 号码发送一条消息,它会向1234567890
. 但是,我希望能够记录用户发送给我的内容。因此,如果他们发送给我hi
,那么我可以使用它来查询我的数据库并向他们发送消息。
这是我的功能:
app.post('/sms', (req, res) => {
const twiml = new MessagingResponse();
twiml.message('The Robots are coming! Head for the hills!');
res.writeHead(200, {'Content-Type': 'text/xml'});
res.end(twiml.toString());
})
解决方案
Twilio 开发人员布道者在这里。
看起来您正在使用 Node.js 和 Express 来接收来自 Twilio 的传入 webhook。当 Twilio 发送此 webhook 时,它包含许多描述您收到的消息的参数。请求是以application/x-www-form-urlencoded
格式发出的,因此您需要设置 Express 以解析请求正文中的这些参数。您可以使用内置的Expressurlencoded
中间件来做到这一点:
const express = require('express');
const app = express();
app.use(express.urlencoded());
成功解析请求后,您可以从req.body
. 例如,发送消息的号码是 ,消息req.body.From
的正文是req.body.Body
。例如:
app.post('/sms', (req, res) => {
const { Body, From } = request.body;
console.log(`Message from: ${From}: ${Body}`);
const twiml = new MessagingResponse();
twiml.message('The Robots are coming! Head for the hills!');
res.writeHead(200, {'Content-Type': 'text/xml'});
res.end(twiml.toString());
});
推荐阅读
- css - How to change mat-select height (style)?
- windows - 如何将文本文档批量拆分为变量
- amcharts - 使用 amCharts 事件更新 Alpine JS 状态
- javascript - 从一个选项中选择
- javascript - How do I add a new object to the end of array?
- node.js - Jenkins Agent searches private npm package in npm registry instead of npm.pkg.github.com/organization
- django - |as_crispy_field got passed an invalid or inexistent field while passing context from my django form
- java - Default font family not changing in android app
- java - Program works perfect in Eclipse but when exporting as runnable JAR I get java.net.SocketException: java.security.NoSuchAlgorithmException
- javascript - Array.push is correctly pushing iterated objects to an array, but once the array is returned by method, all object properties have become the same