2013-03-01 32 views
1

This Google Script page說,stackoverflow是發佈Google腳本問題的地方,所以我在這裏。如何使用Google腳本和Google電子表格發送短信(短信)郵件

我想使用Google腳本自動發送短信(SMS)到Google Spreadsheet中的所有手機號碼。

可以通過以下this tutorial向電子表格中的所有電子郵件地址發送電子郵件,但是當我嘗試在電子表格中使用電話號碼代替電子郵件地址時,出現錯誤,表明這些電子郵件地址無效電子郵件地址。很公平。如果我知道與這些手機號碼綁定的手機公司,我可以將這些電話號碼轉換爲電子郵件地址(一些常見選項,有幾位指南解釋,like this one),但我沒有手機提供商信息。

我當然不是第一個嘗試從電腦而不是手機發送短信的人。 This question是一個比較受歡迎(但也是較老)的問題。 Twilio彈出幾個答案,我已經瀏覽過,但這不是一項免費服務(雖然它是相當便宜,我承認)。谷歌有免費的選擇,所以我想我會嘗試那些。 Google Voice can send free text messages,你甚至可以發送免費短信through Gmail

我知道很多人都有searched for an API to use Google services to send text messages,而且似乎沒有一個。有一些有趣的項目,如google-voice-java,但這些都比任何東西更多的解決方法。

因此,我想我只是使用一個Google服務(Google文檔電子表格)通過使用第三個(Google腳本)來調用另一個(Google Voice或GMail)。有沒有辦法做到這一點?有沒有辦法讓Google腳本發送短信?例如,MailApp.sendEmail發送電子郵件 - 是否有一個發送短信(SMS)?如果不是,可以MailApp.sendEmail按摩/陪審團操縱發送文本(無需將電話號碼變成電子郵件地址,如[電話號碼] @ txt.att.net)?是否可以使用其他一些腳本選項,可能與Google聊天有關(因爲GMail發短信選項與Google Chat有關)?

+0

有一些基於收費的服務可以爲北美給定的細胞數量提供載體信息[例如這一個](http://www.carrierlookup.com/),它甚至提供了一個API與代碼集成,將查找成本降低一半。 – Mogsdad 2013-03-02 03:03:15

回答

0

這取決於手機的載體。

[email protected]

(是的,他們仍然在了「PCS」:要發送文本到Sprint號碼,例如,把消息中的電子郵件以這種方式解決域名...)

1

我最近成爲了一個團隊的一部分,該團隊生產了一個名爲Text gBlaster的Google插件,該插件完成了我相信您所要求的內容。它很容易,所以隨時可以嘗試一下。

除此之外,如果你想自己做,而不通過運營商的電子郵件服務發送(比爾提到上面,這是一個很好的解決方案),那麼你將需要使用第三方如Twilio(這是誰我們正在使用)。您基本上使用電子表格將請求發送給Twilio,然後Twilio發送消息。

這裏是一些基本的代碼,你可以使用Twilio如果你去那條路線。您需要定義toNumber,bodyMessage,SID,Token和twilioNumber。 toNumber是接收消息的號碼,bodyMessage是文本消息的主體,SID &當您創建Twilio帳戶時向您提供令牌,而twilioNumber是您通過Twilio通過郵件發送的電話號碼從。

function sendSms(toNumber,bodyMessage, SID, Token, twilioNumber) { 
    var url = "https://api.twilio.com/2010-04-01/Accounts/" +   // URL used to enter correct Twilio acct 
     SID + "/SMS/Messages.json";           
    var options = {              // Specify type of message    
     method: "post",             // Post rather than Get since we are sending 
     headers: {               
     Authorization: "Basic " + 
     Utilities.base64Encode(SID + ":" + Token) 
     }, 
     payload: {               // SMS details 
     From: twilioNumber, 
     To: toNumber, 
     Body: bodyMessage 
     } 
    }; 
    var response = UrlFetchApp.fetch(url, options);     // Invokes the action 
    Logger.log(response); 
}