家族からのメールだけチェックするChrome拡張(Gmail)

せっかくプログラミングを学んだので、自分の生活を補助するものを作ってみることにしました。はじめに断っておくと、コードの再利用性も考慮していませんし、APIを正確に理解して書いているわけではありません。ともかく最速で作ってみて、使用感を体感するのが目的です。

背景を箇条書きすると次のようになります。ぼくの連絡手段はgmailのみで、PCしか持っていません。ずっとgmailを開いておいても良いですが、他のメールの通知が来たときも通知が来て煩わしいです。家族からメールが来た時、毎回連絡がつかないのは少し罪悪感があります。

背景

  • 家族からのメールだけをチェックしたい
  • あまりChrome Extension APIをしらない
  • 最速で作って使用感を味わいたい

やったこと

1)dotinstallの次の動画を見る


この動画を見て、ローカルに作ったchrome拡張をchromeに読み込む方法を理解します。

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です。