尝试访问 incoming text message 的正文与特威利奥。
var express = require('express');
var bodyParser = require('body-parser');
var jsonParser = bodyParser.json();
var urlencodedParser = bodyParser.urlencoded({ extended: false });
...
module.exports = function(app) {
...
app.post('/twilio/message', jsonParser, function(request, response) {
var twiml = new twilio.TwimlResponse();
twiml.message('test body is ' + request.Body);
// I also tried JSON.stringify(request.body) to see what was in body and it returned '{ñ'
response.type('text/xml');
response.send(twiml.toString());
});
}
以下返回“测试主体未定义”。不确定我做错了什么,请求数据似乎在那里,我可以访问 request.url
。
编辑:尝试使用 body-parser 库更新了问题。
最佳答案
我将 Twilio 从这个方程中剔除(这不是这里的问题)。另请记住npm install body-parser --save
。
var express = require('express');
var app = express();
var bodyParser = require('body-parser');
// parse application/x-www-form-urlencoded
app.use(bodyParser.urlencoded({ extended: false }));
// parse application/json
app.use(bodyParser.json());
// listen for POSTs on /twilio/message
app.post('/twilio/message', function(req, res){
console.log(req.body);
res.end("End");
});
// start express
app.listen(8888);
您可以使用 Postman 进行测试(确保将 x-www-form-urlencoded
设置为正文数据(或将 raw 与 application/json
一起使用)进行测试。
我这样做只是为了确保它有效。
我过去曾使用过 Twilio,这正是我们用来解析正文的代码。
关于javascript - 访问 Twilio SMS 元数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37082896/