如何将Google Script与Google电子表格一起使用来发送短信(短信)

时间:2013-03-01 18:40:21

标签: sms google-apps-script

This Google Script page说stackoverflow是发布Google Script问题的地方,所以我在这里。

我想使用Google脚本自动向Google电子表格中的所有手机号码发送短信(短信)。

可以通过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 Docs电子表格)通过使用第三个(Google Script)来呼叫另一个(Google Voice或GMail)。有办法做到这一点吗?有没有办法让Google Script发送短信?例如,MailApp.sendEmail发送电子邮件 - 是否有一个发送短信(SMS)?如果没有,可以MailApp.sendEmail按摩/陪审团操纵文本(无需将电话号码转换为电子邮件地址,如[phonenumber] @ txt.att.net)?是否可以使用其他脚本选项,可能与Google聊天相关(因为GMail短信选项与Google聊天有关)?

1 个答案:

答案 0 :(得分:2)

我最近成为了一个团队的一员,该团队制作了一个名为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);
}