尝试使用Twilio访问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());
});
}
以下内容返回'test body is undefined'。不确定我做错了请求数据似乎在那里,我可以访问request.url
。
编辑:更新了问题,尝试使用正文解析器库。
答案 0 :(得分:3)
我将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
设置为您的正文数据(或使用带application/json
的raw)进行测试。
我只是确保它有效。
我过去曾与Twilio合作过,这正是我们用来解析身体的代码。