2016-05-06 7 views
0

Der Versuch, mit Twilio auf den Körper eines incoming text message zuzugreifen.Zugriff auf Twilio SMS Meta-Daten?

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()); 
}); 
} 

Die folgenden Rückmeldungen 'Test Körper ist undefined'. Nicht sicher, was ich falsch mache, die Anfragedaten scheinen da zu sein und ich kann auf request.url zugreifen.

Edit: Frage aktualisiert mit Versuch, Body-Parser-Bibliothek zu verwenden.

+0

Sie laufen mit einem Express Body-Parser? Macht nichts, Sie benutzen Twilio Npm. Es geht wahrscheinlich damit. – Wainage

+0

I verwende Express ist die body-parser eine zusätzliche Bibliothek? Ich habe die Frage aktualisiert, um die Includes anzuzeigen. –

+1

Yup. https://github.com/expressjs/body-parser wird das richtig beheben – Wainage

Antwort

3

Ich nehme Twilio aus diesen Gleichungen (das ist nicht das Problem hier). Denken Sie auch an 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); 

Sie können dies testen mit Postman (stellen Sie sicher, dass Sie x-www-form-urlencoded wie Sie Ihren Körper Datensatz (oder roh verwenden mit application/json) zu testen.

Ich habe nur sicherstellen, dass es funktioniert.

Ich habe mit Twilio in der Vergangenheit gearbeitet und das ist genau der Code, den wir verwendet haben, um den Körper zu analysieren.