家族からのメールだけチェックするChrome拡張(Gmail)
せっかくプログラミングを学んだので、自分の生活を補助するものを作ってみることにしました。はじめに断っておくと、コードの再利用性も考慮していませんし、APIを正確に理解して書いているわけではありません。ともかく最速で作ってみて、使用感を体感するのが目的です。
背景を箇条書きすると次のようになります。ぼくの連絡手段はgmailのみで、PCしか持っていません。ずっとgmailを開いておいても良いですが、他のメールの通知が来たときも通知が来て煩わしいです。家族からメールが来た時、毎回連絡がつかないのは少し罪悪感があります。
やったこと
1)dotinstallの次の動画を見る
2)"Google Mail Checker"を公式ページのSamplesからダウンロードする
ここから"Google Mail Checker"をダウンロードします。解凍して、1)で見た動画の通りにして動くことを確認します(メールチェックの頻度はbackground.jsの116行目あたりのdelay(分)で調節すると動作確認が楽になります)。
3)家族からのメールにはfamilyラベルを付けるように設定する。
フィルタ機能で設定できます。フィルタの条件は"OR"で接続できます。例えば
from:(mother@docomo.ne.jp OR mother@gmail.com OR father@offiece.com OR brother@gmail.com)
などとすれば、家族全員のメールアドレスを1つのフィルタでカバーできます。これで家族からメールが来た全てのメールの件数は"https://mail.google.com/mail/feed/atom/family"から取得できます。
4)background.jsでfamilyラベルの未読件数をチェックするように変更する
getFeedUrl()の40行目
return getGmailUrl() + "feed/atom?zx=" + encodeURIComponent(getInstanceId());
を
return getGmailUrl() + "feed/atom/family?zx=" + encodeURIComponent(getInstanceId());
に変更するだけです。これで、拡張をリロードすればokです。