GMailへのメール着信をフィルタリングしてSMS経由で通知したい

Googleに登録した電話番号あてにSMSを飛ばす機能がGoogle Calendarのリマインダにありますよね。あれを無理くりスクリプト使って、特定条件下のGmailあてのメールにフィルタかけてSMSへ飛ばすっていうことがGoogleで閉じた世界で実現できるそうです。閉じた世界で実現できるそうです。大事なので2回言いました。

そしてサンプルの通りやってみたらすんなりうまく行ったのですが、負荷対策であんまり沢山投げられないみたいで最後のほうは思い出した頃に届きました。(笑)

スマホ側の通知機能使えばいいじゃんって話なんですけど、例えばiPhoneでマナーモードにしたとき、メールは1回だけどSMSって2回震えますよね。メールなんて大勢から届くし優先度まちまちだし、あれってもしかしてフィルタかけて受信トレイになくてもブルってませんか?気のせいかな……

ということで私にはこの2回振動する・メールとは違う通知音がセットできるっていうとこが大事なワケでして、あの長くなりましたがこれ、Google CalendarのAPIを使います。
https://developers.google.com/apps-script/articles/gmail_filter_sms

先に飛ばしたいメールのフィルタ条件をGmailで作っておいて、つぎにGoogleドライブからスプレッドシートの新規作成を経由してスクリプトエディタ開く → 保存したスクリプトをその場で実行するか、トリガーを登録して実行する間隔をセットしてやるという流れが書いてあります。

リンク先にあるサンプルをコピペして、getUserLabelByNameのとこを自分で作ったフィルタ名に変えてやるだけで動き出します。

通知メール1つ1つにカレンダーイベントが登録されてしまってウザいと思ったので、すぐさまCalendarApp.createEventで取得したCalendarEventの値にdeleteEvent()をかけてやったら、きちんと通知は送ってイベントだけ消えてくれました(消えたような気が今はする)。リファレンスはこちら
https://developers.google.com/apps-script/reference/calendar/calendar-app

Googleお膝元のサイトでカレンダーと関係ないもんをカレンダーのAPIで実現する手引き、っていうのもどうよって気もしますけど、真っ当な理由でメールとカレンダーをリンクしたい人向けなんですよね。メールのことはメールでGmailのAPI使わせるのが、って一瞬だけ思いました。でも動いちゃったからもういいやって投げやりでここまで書いててすいません。

Popular posts from this blog

Thunderbirdのフィルタで正規表現

Windows10にTeratermを新規で入れたら文字化けしてUTF-8の設定もできない→日本語設定にしてフォントの文字セットも変更すると直る

2つのXMLドキュメントの結合 (java)