更新Twilio MediaUrl以用于Express 4

时间:2017-04-24 16:44:45

标签: express twilio

我正在更新我的twilio sms消息传递工具以使用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
                    });
                });
            }
        });
    }
}

1 个答案:

答案 0 :(得分:2)

我认为这是因为Twilio正在向您发布数据,而request.query正在查询查询字符串。将Twilio方法更改为GET,或使用req.body从POST获取值。

简单的解决方法是使用:

var mediaUrl = request.body.MediaUrl + i;