【问题标题】:Replying back with Multiple MMS Images Twilio through TwiML通过 TwiML 回复多个 MMS 图像 Twilio
【发布时间】:2017-11-25 12:24:05
【问题描述】:

我有以下功能

export function incoming_message(event, context, callback) {
  var qs = require('qs');
  var util = require('util');

  const MessagingResponse = require('twilio').twiml.MessagingResponse;
  const response = new MessagingResponse();
  const message = response.message({to:"+15621112222"});

  var queryString = event.body;
  if(queryString != "" && queryString != null && queryString !== undefined){
    var obj = qs.parse(queryString);
    message.body(obj.Body);

    if(obj.NumMedia > 0){
      message.media([obj.MediaUrl0,obj.MediaUrl0]);
    }

    sendemail("myemail@gmail.com","Incoming Message - Twilio",util.inspect(obj));
  }else{
    message.body("error");
    sendemail("myemail@gmail.com","Incoming Text Message with Twilio, No DATA Present","No Data");
  }

  callback(null, successXml(response.toString()));
}

如果我发送这样的媒体而不是它,message.media(obj.MediaUrl0); 但在此示例中我需要将相同的图像发送回两次。我正在尝试将用户发短信的彩信转发到另一个号码。每条消息限制为 10 条彩信。我尝试使用数组失败了,Twilio 将它作为它生成的 XML 返回。

<?xml version="1.0" encoding="UTF-8"?>
<Response>
    <Message to="+14079470503">
        <Body>Teeeeeee</Body>
        <Media 0="https://api.twilio.com/2010-04-01/Accounts/ACb07efd8168f1be2d5e109f66002ed172/Messages/MM29c53d31a3aa1f6cf70bcd92b6d0031d/Media/MEc9c082a5266668b61b0bb6fa13272bf8" 1="https://api.twilio.com/2010-04-01/Accounts/ACb07efd8168f1be2d5e109f66002ed172/Messages/MM29c53d31a3aa1f6cf70bcd92b6d0031d/Media/MEc9c082a5266668b61b0bb6fa13272bf8"/>
    </Message>
</Response>

它给出了一个警告,元素类型“Media”必须后跟属性规范,“>”或“/>”。

我不知道该怎么做才能让它发挥作用。图像永远不会成功传递。有什么想法吗?

尝试:

我也试过了,message.media({"1":obj.MediaUrl0,"2":obj.MediaUrl0});同样的错误

【问题讨论】:

    标签: node.js twilio twilio-api twilio-twiml


    【解决方案1】:

    好的,找到了答案,我将 if 语句更改为这样的 switch 语句。诀窍显然是每次为每个新图像调用 message.media()。

    if(obj.NumMedia > 0){
          switch(obj.NumMedia){
            case "10":
              message.media(obj.MediaUr10);
            case "9":
              message.media(obj.MediaUrl9);
            case "8":
              message.media(obj.MediaUrl8);
            case "7":
              message.media(obj.MediaUrl7);
            case "6":
              message.media(obj.MediaUrl6);
            case "5":
              message.media(obj.MediaUrl4);
            case "4":
              message.media(obj.MediaUrl3);
            case "3":
              message.media(obj.MediaUrl2);
            case "2":
              message.media(obj.MediaUrl1);
            case "1":
              message.media(obj.MediaUrl0);
              break;
          }
        }
    

    【讨论】:

      猜你喜欢
      • 2015-08-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-19
      • 1970-01-01
      • 2017-04-20
      • 1970-01-01
      相关资源
      最近更新 更多