Google > AppScript > トリガ

トリガ


メールをトリガにする

正確には、定期的に対象になるメールがあるか確認する

// 以下の関数を定期実行する
function trigger(){
  var searchword = "TESTMAIL";
 
  // Gmailの検索窓と同じ内容
  // 検索結果はスレッドで帰ってくる(メール単位ではない)
  // また、検索先をINBOXに設定しておき、
  // 一度ヒットしたらINBOXから取り除くようにしておく
  var threads = GmailApp.search("subject:" + searchword + " label:inbox");
 
  // 各スレッドの中のメールを特定する
  threads.forEach(function(thread){
    var messages = thread.getMessages();
    messages.forEach(function(message){
      var subject = message.getSubject();
      if(subject.match(searchword)){
 
        /* ここで本来行いたい処理を起動する */
        /* 件名や本文に組み込んだ情報を取り出したい場合は
           ここで取り出したりする */
 
        // 移動しておかないと、いつまでもヒットしてしまうので
        // ゴミ箱に移しておく
        message.moveToTrash();
      }
    });
  });
 
}

注意点

Gmailの検索機能は、特殊文字を認識しないらしい。なので[TRIGGER]とか、カッコで括って、一般的なメールがヒットしないようにしよう、と頑張ってもあんまり効果がない。
対策はある程度長い単語や自分の造語で引っ掛けることだろうか。

Webhook

  1. 実行したいプロジェクトで以下に doGet もしくは doPost 関数を作成する
  2. 公開>ウェブアプリケーションをとして導入 を選ぶ
  3. 更新する際は、Newを選ぶ
    • 同じバージョンで更新する方法がわかりません。
  4. 今のところ、アクセスできる権利者を「Anyone」にする
  5. 設定されたURLにアクセス
最終更新:2019年11月03日 19:04