2016-02-16 51 views
1

的Twilio文檔表明,每個彩信最多可以有10個媒體文件附件,但Node.js的例子只展示了1個附件:Twilio彩信的Node.js - 發送多個媒體文件

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屬性是一個不是單個值的字符串數組。你如何表示多個媒體附件?

回答

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正文。從=%2B14158141829 &體=嘿%20Jenny%20Good%20luck%20on

「爲=%2B16518675309 &:所以,當你使用mediaUrls的陣列,就像在我的例子,它會被變成第二十條%%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個媒體項目。

+0

Thks that works。 –

+0

太棒了!你介意接受答案,以便其他用戶可以很容易地看到它解決了這個問題嗎?謝謝! – philnash

+0

philnash你能用TwiML展示一個這樣的例子嗎? (nodejs爲您編寫XML的庫的版本?) –