3

この Google Script ページでは、stackoverflow は Google Script に関する質問を投稿する場所であると書かれているので、ここにいます。

Google スクリプトを使用して、Google スプレッドシートのすべての携帯電話番号にテキスト メッセージ (SMS) を自動的に送信したいと考えています。

このチュートリアルに従って、スプレッドシート内のすべての電子メール アドレスに電子メールを送信することは可能ですが、スプレッドシート内の電子メール アドレスの代わりに電話番号を使用しようとすると、有効な電子メールではないというエラーが表示されます。アドレス。けっこうだ。これらの各携帯電話番号に関連付けられている携帯電話会社を知っていれば、それらの電話番号を電子メール アドレスに変換できます (このようないくつかのガイドで説明されている一般的なオプションです)。しかし、私はその携帯電話プロバイダーを持っていません。情報。

携帯電話ではなくコンピューターからテキスト メッセージを自動的に送信しようとしたのは、私が初めてではありません。 この質問は、それについて尋ねるより一般的な (しかし古い) 質問の 1 つです。 私が調べたいくつかの回答でTwilioがポップアップ表示されますが、それは無料のサービスではありません(かなり安価ですが、認めます).ただし、Googleには無料のオプションがあるので、それらを試してみることにしました. Google Voice では無料のテキスト メッセージを送信できます。Gmail からも無料のテキスト メッセージを送信できます。

多くの人が、Google サービスを使用してテキスト メッセージを送信するための API を探していますが、存在しないようです。google-voice-java のような興味深いプロジェクトがいくつかありますが、これらは何よりも回避策です。

したがって、1 つの Google サービス (Google Docs スプレッドシート) を使用して、3 つ目の (Google Script) を使用して別のサービス (Google Voice または GMail) を呼び出すだけでよいと考えました。これを行う方法はありますか?Google スクリプトでテキスト メッセージを送信する方法はありますか? たとえば、 はMailApp.sendEmail電子メールを送信します。テキスト メッセージ (SMS) を送信するものはありますか? そうでない場合は、MailApp.sendEmailテキストを送信するようにマッサージ/陪審員を騙すことができますか (電話番号を [phonenumber]@txt.att.net のような電子メール アドレスに変換する必要はありません)? おそらくGoogleチャットに関連する他のスクリプトオプションを使用できますか(GMailのテキストメッセージオプションはGoogleチャットに関連しているため)?

4

2 に答える 2

2

私は最近、 Text gBlasterという名前の Google アドオンを作成したチームの一員でした。このアドオンは、あなたが求めていると思われるものを実現します。簡単にできるので気軽に挑戦してみてください。

それとは別に、キャリアの電子メールサービスを介して送信せずに自分でやりたい場合(Billが上で言及している、これは優れた解決策です)、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);
}
于 2015-08-21T00:55:21.577 に答える