2015-09-20 74 views
3

我正在編寫一個Twilio + Parse應用程序,它可以讓用戶通過短信分享他們的聯繫信息。我有一個樣品了Vcard和在JavaScript字符串:生成VCard並通過Twilio發送

message = ''; 
    message += 'BEGIN:VCARD'; 
    message += 'BDAY;VALUE=DATE:1963-09-21'; 
    message += 'VERSION:3.0'; 
    message += 'N:Stenerson;Derik'; 
    message += 'FN:Derik Stenerson'; 
    message += 'ORG:Microsoft Corporation'; 
    message += 'ADR;TYPE=WORK,POSTAL,PARCEL:;;One Microsoft Way;Redmond;WA;98052-6399;USA'; 
    message += 'TEL;TYPE=WORK,MSG:+1-425-936-5522'; 
    message += 'TEL;TYPE=WORK,FAX:+1-425-936-7329'; 
    message += 'EMAIL;TYPE=INTERNET:[email protected]'; 
    message += 'END:VCARD'; 
    message += 'BEGIN:VCARD'; 
    message += 'VERSION:3.0'; 
    message += 'N:Ganguly;Anik'; 
    message += 'FN:Anik Ganguly'; 
    message += 'ORG: Open Text Inc.'; 
    message += 'ADR;TYPE=WORK,POSTAL,PARCEL:;Suite 101;38777 West Six Mile Road;Livonia;MI;48152;USA'; 
    message += 'TEL;TYPE=WORK,MSG:+1-734-542-5955'; 
    message += 'EMAIL;TYPE=INTERNET:[email protected]'; 
    message += 'END:VCARD'; 
    message += 'BEGIN:VCARD'; 
    message += 'VERSION:3.0'; 
    message += 'N:Moskowitz;Robert'; 
    message += 'FN:Robert Moskowitz'; 
    message += 'EMAIL;TYPE=INTERNET:[email protected]'; 
    message += 'END:VCARD'; 

,我試圖找出如何讓手機檢測到它,而不是文本的這是一個電子名片發送到電話號碼。

我有一個方法:

function respondWithMessage(message, response) { 
    response.set('Content-Type', 'text/xml'); 
    var xmlVersion = '<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n'; 
    message = '<Message>\n' + message + '\n</Message>'; 
    message = '<Response>\n' + message + '\n</Response>'; 
    message = xmlVersion + message; 
    response.send(message); 
} 

隨着這我能發短信。 在他們的文檔中,Twilio聲明在這裏支持文本/電子名片信息: https://www.twilio.com/docs/api/rest/accepted-mime-types 但是我一直無法讓它正常工作。 你能提供一個如何通過Twilio發送這個VCard的例子嗎? 謝謝!

+0

你是不是想用電子名片迴應,或者只是把它?因爲你無法用TwiML包裝電子名片,這就是你想要做的事情。你能否提供更多信息? –

+0

我試圖從存儲在我的服務器上的用戶的聯繫信息生成一個vCard,並通過短信發送給另一個用戶。 – AttilaTheFun

回答

4

Twilio開發者傳道這裏。如果你想開始一條新消息,那麼你不需要使用TwiML,但可以簡單地使用其餘的API從服務器發送信息。

隨着Parse.com它應該是這樣的:

// Require and initialize the Twilio module with your credentials 
var client = require('twilio')('ACCOUNT_SID', 'AUTH_TOKEN'); 

// Send an SMS message 
client.sendSms({ 
    to:'to', 
    from: 'from', 
    body: 'Hello world!', 
    mediaUrl: your-vcard-url 
    }, function(err, responseData) { 
    if (err) { 
     console.log(err); 
    } else { 
     console.log(responseData.from); 
     console.log(responseData.body); 
    } 
    } 
); 

所以你現在要做的,就是確保your-vcard-url' is accessible by Twilio, and that its mime type is set to be文/ vcard`。

換句話說,你不能僅僅通過發送文本信息的電子名片的內容,但需要告訴Twilio在虛擬卡實際上是,所以它包括它的消息中。

vcard的有效URL示例爲this one。希望這可以幫助你

+0

我正在嘗試使用上面描述的方法,但我注意到Twilio發送的Twardio URL中的VCard鏈接,而不是在消息中看起來原生的VCard。我正在iOS上進行測試。 – johnnymire