更新Twilio MediaUrl与Express 4一起使用

问题描述:

我正在更新我的twilio sms消息工具以使用express 4.在一行代码中,我遇到问题。更新Twilio MediaUrl与Express 4一起使用

var mediaUrl = request.param('MediaUrl' + i); //deprecated in express 4 

当我试图与这条线

var mediaUrl = request.query.MediaUrl + i; 

它不再链接到twilio MediaURL更新。这里是完整的参考代码。

var numMedia = parseInt(request.body.NumMedia); 
if (numMedia > 0) { 
    for (i = 0; i < numMedia; i++) { 

     //var mediaUrl = request.query.MediaUrl + i; 
     var mediaUrl = request.param('MediaUrl' + i); //deprecated in express 4 

     groupRef.where({"memberNumber":request.query.From}).limit(1).on("value", function (data){ 
      if(data.count()){ 
       data.forEach(function(snapshot){ 
        var member = snapshot.value(); 
        messagesRef.push({ 
         sid: request.body.MessageSid, 
         type:'text', 
         tstamp: new Date().toLocaleString('en-US', { timeZone: "America/Denver" }), 
         fromName:member.memberName, 
         fromNumber:request.body.From, 
         message:"", 
         media:mediaUrl, 
         groupNumber:request.body.To 
        }); 
       }); 
      } 
     }); 
    } 
} 

我认为这是由于这样的事实,Twilio是数据发布到你和request.query正在寻找在查询字符串。将Twilio方法更改为GET,或使用req.body从POST获取值。

的简单的解决办法是使用:

var mediaUrl = request.body.MediaUrl + i; 
+0

的req.body现在得到的mediaURL。在获取URL后仍然会遇到一些问题。但这是一个需要解决的不同问题。谢谢 –

+0

我很高兴这有助于你,并感谢你将我的答案标记为已接受。请注意,由于您已经编辑了问题以包含答案,因此未来的访问者可能会感到困惑。 – Andy

+0

我把它放回原处。感谢您的更正 –