mozikeru.com

和歌山在住。2児の父。IoTエンジニア。各種ご相談承ります。

「小学校からのメールをLINEに通知する仕組み」をLINE NotifyからLINE MessagingAPIへの置き換える

いよいよマジでLINE Notifyがサ終となってしまった。

notify-bot.line.me

小学校、保育所からの一斉連絡はメールで来るが、メールはもう埋もれてしまうので見ることができない。GASでGmailを定期的に監視して対象のメールが来たらLINE NotifyでLINE通知する仕組みをずっと使って来たがとうとう終わった。

LINE Notifyの終了は以前からずっと通知されていて、「あー、やらないと、やらないと」と思い続けつつも腰が重すぎて手がつけられておらず、いよいよマジで本当に終わってからようやく着手。

基本的には元々のLINE Notify版GASの通知部分をLINE Messaging APIに置き換えただけ。

せっかくなのでGitHubに公開しておいた。(山程同じようなものが公開されていると思うので、もう何番煎じかもわからんけども)

github.com

このツールの特徴

「GmailToLINEMessage」の主な特徴は以下の通りです:

  • 特定の送信者のメールだけを監視:学校や保育所など、重要な送信者を指定できます
  • リアルタイム通知:新着メールを定期的にチェックし、LINEに即時通知
  • カスタマイズ可能なメッセージ:通知メッセージの形式を自分好みにアレンジ可能
  • Google Apps Scriptで動作:追加のサーバーや特別なインフラが不要
  • LINE Messaging APIの活用:LINE Notifyより高度な通知機能

技術的な仕組み

このツールは以下の技術で構築されています:

  1. Google Apps Script (GAS):Gmailの監視とLINE APIの呼び出しを担当
  2. Gmail API:特定の条件に一致するメールを検索
  3. LINE Messaging API:LINEへのメッセージ送信

処理の流れとしては:

  1. 一定間隔でGmailの受信トレイを監視
  2. 指定した条件(送信者、未読状態など)に一致するメールを検索
  3. 該当メールがあればLINE Messaging APIを使ってLINEに通知
  4. オプションでメールを既読にマーク

セットアップ方法

詳細なセットアップ手順はGitHubリポジトリに記載していますが、基本的な流れは以下の通りです:

  1. LINE DevelopersでMessaging APIのチャネルを作成
  2. Google Apps Scriptでプロジェクトを作成し、コードをコピー
  3. 必要な設定(チャネルアクセストークン、ユーザーID、検索条件)を入力
  4. 定期実行のためのトリガーを設定

実際の使用例

私は現在このツールを以下のように活用しています:

  • 子供の学校からのメールを即座にLINEで受け取る
  • 緊急性の高い業務連絡も見逃さず確認
  • 特定のプロジェクトに関するメールを専用のLINEグループに通知

以前はメールチェックを忘れて学校行事の準備が遅れたことがありましたが、このシステムを導入してからはそのような心配がなくなりました。

カスタマイズのヒント

このツールは様々な用途に合わせてカスタマイズできます:

  • 検索条件を変更して、特定の件名やラベルのメールだけを通知
  • メッセージ形式を変更して、より多くの情報(本文の一部など)を含める
  • 複数のユーザーIDを設定して、家族や同僚にも通知を送信
  • 条件に応じて異なるメッセージを送る分岐処理を追加