GMailをGCalendarに登録するサービス rMinc を作ってみた

f:id:silverbirder180:20200216214751p:plain
rMinc

ターゲットユーザー

  • GMailとGCalendarを使っている人

メールを開くって面倒じゃないですか?

例えば、次のようなメールを受信していたとします。

  • アマゾンで商品を購入した際、お届け予定日が記載されたメール
  • 映画館(TOHOシネマ)でネット予約した際、上映日が記載されたメール
  • ホテルをネット予約した際、宿泊日が記載されたメール

『いつ商品が届くのかな?メールを確認しよう』が、面倒と感じませんか?私は面倒と思います。 Googleは気を利かせて、次のような予定を勝手に登録してくれることがあります。(良い悪いがありますが...)

f:id:silverbirder180:20200216115925p:plain
unknownorganizer@calendar.google.com

この気を利かせるかどうかは、Googleの判断によるため未知数です。 先程あげた例のメールも、同様のことが勝手にしてくれたら良いな〜と思っていました。 そこで、rMincというツールを作りました。

※ 昔、gas-for-amazon-calendarという、アマゾンからのお届け予定日が記載しているメールをGCalendarに登録するツールを作りましたが、 アマゾンのメールに特化しすぎてしまい、汎用性がないものとなりました。

rMinc is 何?

www.npmjs.com

rMinc is the Google Apps Script Library that register Mail in Calendar.

以下サービスからのGMailが届いたときに、その内容を抽出してGCalendarに登録します。

  • Amazon
    • 発送のお知らせ (お届け予定日)
  • TOHO CINEMAS
    • チケット購入完了のお知らせ (上映日)
  • 食宅便
    • 配送手配のお知らせ (お届け予定日)

また、これ以外にも対応したいサービスがあると思うので、カスタマイズして使えるようにしました。 詳しくは、README.mdをご確認下さい。

概要はこんな感じです。 overview

  1. 特定キーワードでメールを抽出
    1. アマゾンなら、from:(shipment-tracking@amazon.co.jp) 発送
  2. メールの下記を抽出
    1. タイトル
    2. 本文
      1. イベント開始日&終了日 (予定日とか)
      2. 場所 (配達先とか)
    3. メールのリンク
  3. 抽出した内容をGCalendarに登録

実際に使ってみるとこんな感じになります。 example

小さくて見えないと思いますが、お届け予定日、タイトル、配達先、メールリンクが登録されています。

このツール(sample.js)をGAS上で定期的に動かしておくだけで、自動的にGCalendarへ予定登録されます。当たり前ですが、無料です。

※ RMincは、README.mdにあるAPP IDを登録する必要あり

最後に

Google Apps Scriptは、エンジニアにとって、とても強力な武器です。特に、G Suiteを積極的に使っている人にとっては、欠かせないものです。

こういった かゆいところに手が届く ことができるのは、Google Apps Scriptの魅力的なところです。 ぜひぜひ、積極的に活用していきたいですね!