En mi archivo app.post he cambiado
var mediaUrl = req.param('MediaUrl' + i); //deprecated in express 4a
var mediaUrl = req.body.MediaUrl + i; or req.params.MediaUrl + i;al ver los registros de mi consola, se vincula a twilio MediaURL0. Pero en los registros de Heroko
heroku[router]: at=info method=POST path="/message" host=(removed).herokuapp.com request_id=(removed)" dyno=web.1 connect=0ms service=95ms status=200 bytes=256 protocol=httpsse convierte
heroku[router]: at=info method=GET path="/null" host=(removed).herokuapp.com request_id=(removed) fwd="74.3.132.218" dyno=web.1 connect=0ms service=3ms status=304 bytes=146 protocol=httpsCuando actualicé. Lo que estoy tratando de averiguar es por qué MediaURL se convertirá en Method=GET, pero cualquier otra información permanecerá como Method=POST. Necesito que mi MediaURL sea un Método = POST para que funcione mi aplicación de mensajería SMS Twilio.
Aquí está mi app.post completa
app.post('/message', function (req, res) { groupRef.where( {"memberNumber":req.body.From} ).limit(1).on( "value", function ( data ){ if( data.count() ){ data.forEach( function( snapshot ){ var member = snapshot.value(); messagesRef.push({ sid: req.body.MessageSid, type:'text', tstamp: new Date().toLocaleString('en-US', { timeZone: "America/Denver" }), fromName:member.memberName, fromNumber:req.body.From, message:req.body.Body, media:"", groupNumber:req.body.To }); }); } }); var numMedia = parseInt( req.body.NumMedia ); if (numMedia > 0) { for (i = 0; i < numMedia; i++) { //var mediaUrl = req.body.MediaUrl + i; //var mediaUrl = req.params.MediaUrl + i; var mediaUrl = req.param('MediaUrl' + i); //deprecated in express 4 groupRef.where( {"memberNumber":req.body.From} ).limit(1).on( "value", function ( data ){ if( data.count() ){ data.forEach( function( snapshot ){ var member = snapshot.value(); messagesRef.push({ sid: req.body.MessageSid, type:'text', tstamp: new Date().toLocaleString('en-US', { timeZone: "America/Denver" }), fromName:member.memberName, fromNumber:req.body.From, message:"", media:mediaUrl, groupNumber:req.body.To }); }); } }); } } var resp = new twilio.TwimlResponse(); resp.message('Message received.'); res.writeHead(200, { 'Content-Type':'text/xml' }); res.end(resp.toString());});
Si tiene que calcular el nombre de una propiedad de objeto, tendrá que usar la notación de corchetes para acceder a él.
var mediaUrl = req.body['MediaUrl' + i];