Skip to content

uz-ra/BB-0

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BB-0: Gmail → LINE 通知スクリプト

このリポジトリは、Gmailで特定のラベルが付いた未読メールを検出し、受信時にLINEへ通知を送るGoogle Apps Scriptです。

概要

  • Gmailの特定ラベル(かつ未読)を定期チェックして、該当メールがあればLINEへ通知します。
  • main.gs にLINEのトークンや通知先のユーザーID、チェックしたいラベルを記載します。

設定手順(要約)

  1. main.gs を編集して、以下の値を設定します。
const CHANNEL_ACCESS_TOKEN = 'あなたのチャネルアクセストークン(長期)';
const USER_ID = '通知先のユーザーID(Uから始まるIDなど)';
const TARGET_LABELS = ['確認したいラベル名1','ラベル名2'];
  1. スクリプトの実行権限を承認します。

    • スクリプトエディタで初回実行すると、Gmailと外部通信(UrlFetchApp)へのアクセス許可を求められます。許可してください。
  2. トリガーを設定します(自動実行)。

    • Apps Script エディタの「トリガー」(Triggers) を開き、関数に notifyLabelledMail を選択して、時間主導(Time-driven)で定期実行するトリガーを追加してください。
    • トリガー設定の例は docs/trigger.png を参照してください(実行間隔は用途に合わせて調整してOK)。
  3. Gmail側でラベルを自動付与するには、Gmail の「フィルタとブロック中のアドレス」からフィルタを作成し、該当条件に対してラベルを適用するよう設定してください。

動作のポイント

  • メール本文はプレーンテキストを参照しており、現在はCELSのシステムに合わせて「内容:」というキーワード以前を切り詰める実装になっています(該当箇所は main.gs 内の keyword = "内容:" の検索と substring 部分です)。
  • 必要であれば本文の切り出し方法(長さやキーワード)を変更してください。
  • 通知送信後、該当メッセージは msg.markRead() により既読にされます。重複通知を避けるための仕様です。

トラブルシュート

  • LINE側のCHANNEL_ACCESS_TOKENはMessaging APIの「チャネルアクセストークン(長期)」を使用してください。
  • USER_ID はプッシュ送信先のユーザーIDです。正しいIDであることを確認してください。
  • スクリプト実行時に権限エラーが出た場合は、Apps Script の実行ログと権限画面を確認してください。

補足 トリガー設定

  • docs/trigger.png にトリガー設定のスクリーンショットを置いてあります。設定の参考にしてください。
  • ラベルはGmailの設定で自動付与できます。手動でラベルを付けても動作します。

About

GmailをフィルターしてLINEに通知するGASスクリプト

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published