GAS(Google Apps Script)で特定のGmailを受信したらLINEに通知するなど、GmailとLINEを連携させる方法についてまとめました。
特定のGmailを受信したらLINEに通知
災害訓練メールをよく見逃して怒られるので、GASを用いて「訓練」というキーワードが含まれる未読のメールがGmailにあれば、LINEに通知して既読をつけるというスクリプトを作ってみました。
① GAS(Google Apps Script)で特定のGmailを受信したらLINEに通知するサンプルコードは以下のとおりです。
② 上記コードを動かすにはLINE Notify アクセストークンを発行し、「LINE Notify」を通知先グループに友だち追加する必要があります。方法は以下ページで別途紹介しています。

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

日付や期間を条件にする場合
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の使い方全般については以下ページにまとめていますので、良かったら見てみてください。

コメント