访问Twilio SMS元数据?

时间:2016-05-06 23:43:09

标签: javascript json node.js twilio

尝试使用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

编辑:更新了问题,尝试使用正文解析器库。

1 个答案:

答案 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合作过,这正是我们用来解析身体的代码。