【GAS】特定のGmailを受信したらLINEに通知(GmailとLINEを連携)

GAS(Google Apps Script)で特定のGmailを受信したらLINEに通知するなど、GmailとLINEを連携させる方法についてまとめました。

特定のGmailを受信したらLINEに通知

災害訓練メールをよく見逃して怒られるので、GASを用いて「訓練」というキーワードが含まれる未読のメールがGmailにあれば、LINEに通知して既読をつけるというスクリプトを作ってみました。

① GAS(Google Apps Script)で特定のGmailを受信したらLINEに通知するサンプルコードは以下のとおりです。


② 上記コードを動かすにはLINE Notify アクセストークンを発行し、「LINE Notify」を通知先グループに友だち追加する必要があります。方法は以下ページで別途紹介しています。

【LINE】Notify アクセストークンを発行&グループに友だち追加する方法
LINE Notify アクセストークンを発行する方法する方法をまとめてみました。

③ あとはトリガーを追加して定期的に実行してやるだけです。
トリガーの設定方法については以下ページで別途紹介しています。

【GAS入門】トリガーを設定してプログラムを自動的に実行する方法
GAS(Google Apps Script)でトリガー機能を用いて時間や間隔等を指定してプログラムを自動的に実行する方法についてまとめました。

日付や期間を条件にする場合

GmailAppで特定の日付を指定する場合には「after」「before」演算子を使用します。
例えば以下の場合、「2024年1月1日〜2024年1月7日」に受信したメールを指定できます。

var query = "after:2024/1/1 before:2024/1/7";

特定の日付ではなく、年数(y)・月数(m)・日数(d)で検索する場合には「older_than」「newer_than」演算子を使用します。
以下だと、2日前より以前のものが対象となります。

var query = "older_than:2d";

件名を条件にする場合

件名を条件にする場合は「subject」演算子を使います。
以下は件名に「重要なお知らせ」が含まれているメールを対象とします。

var query = "subject:重要なお知らせ";

ラベルを条件にする場合

ラベルを指定して検索するには「label」演算子を使います。
以下はラベル名が「銀行」を対象とします。

var query = "label:銀行";

送信者を条件にする場合

送信者を指定して検索するには「from」演算子を使います。

var query = "from:xxxxx@gmail.com";

複数条件を指定

複数条件の指定したい場合、AND条件なら半角スペース区切り、OR条件であれば{}を使います。

【AND条件の例】
以下は件名に「重要」を含み、かつ指定の送信者「xxxx@gmail.com」を対象とします。

  var query = "subject:重要 from:xxxx@gmail.com"; 

件名に「重要」かつ「銀行」を含む

var query = "subject:(重要 銀行)";

件名に「重要」を含む、もしくは指定の送信者「xxxx@gmail.com」

var query = "{subject:重要 from:xxxx@gmail.com}";

未読、既読メールのみ検索

未読メールを検索する

is:unread

既読メールを検索する

is:read

添付ファイルのあるメールを検索

has:attachment

関連ページ

GASの使い方全般については以下ページにまとめていますので、良かったら見てみてください。

【GAS超入門】作業自動化のテクニックをサンプルコード付きで解説
GAS(Google Apps Script)で作業を自動化して時短に活用したり、生活の質を向上させる方法についてまとめました。

コメント