Twilio文档表明每个MMS最多可以有10个媒体文件附件,但Node.js示例只显示1个附件:
var client = require('twilio')(accountSid, authToken);
client.messages.create({
to: "+16518675309",
from: "+14158141829",
body: "Hey Jenny! Good luck on the bar exam!",
mediaUrl: "http://farm2.static.flickr.com/1075/1404618563_3ed9a44a3a.jpg"
}, function(err, message) {
console.log(message.sid);
});
我原本期望mediaUrl属性是一个字符串数组而不是单个值。你如何表明多个媒体附件?
答案 0 :(得分:4)
Twilio开发者传道者在这里。
如果您要发送多个mediaUrl,则绝对可以在此处提供数组。代码:
var client = require('twilio')(accountSid, authToken);
client.messages.create({
to: "+16518675309",
from: "+14158141829",
body: "Hey Jenny! Good luck on the bar exam!",
mediaUrl: ["http://farm2.static.flickr.com/1075/1404618563_3ed9a44a3a.jpg", "http://another-image.com/image.jpg"]
}, function(err, message) {
console.log(message.sid);
});
如果您只有一张图片,那么效果与使用字符串一样。
在幕后,Node.js帮助程序库使用querystring模块将参数转换为表单编码的POST正文。因此,当您使用mediaUrls数组时,就像在我的示例中一样,它将变为:
'至=%2B16518675309&安培;从=%2B14158141829&安培;主体=嘿%20Jenny%20Good%20luck%20on%第二十条%20巴%20exam&安培;!的 mediaUrl 强> = HTTP%3A %2F%2Ffarm2.static.flickr.com%2F1075%2F1404618563_3ed9a44a3a.jpg&安培;的 mediaUrl 强> = HTTP%3A%2F%2Fanother-image.com%2Fimage.jpg'
虽然这有点难以阅读,但我在参数中突出显示了mediaUrl的两个实例。 Twilio将这两个值解释为URL列表,并在MMS中传送您的两个图像。
请告诉我这是否有帮助!
修改强>
如果您想使用TwiML执行此操作,请参阅下面的示例或in the documentation:
const MessagingResponse = require('twilio').twiml.MessagingResponse;
const response = new MessagingResponse();
const message = response.message();
message.body('Hello Jenny');
message.media('https://demo.twilio.com/owl.png');
message.media('https://demo.twilio.com/bunny.png');
console.log(response.toString());
要添加更多媒体,只需在响应中继续使用media
方法,您就可以通过这种方式添加最多10个媒体项目。