Google Apps Scriptを使ってメールから家計簿は作れるか

Kindleに限ったことじゃないけど、デジタルコンテンツの購入が増えていくとレシート(納品書)を取っといて家計簿を書くという作業がうまく回らなくなる。

デジタルコンテンツにかぎらず、ネットショッピングに関しては以前から購入メールから会計簿を自動で作れるんじゃないかと考えていたがアイディアだけで止まっていた。別件でGoogle Apps Scriptを調べているうちに「アレ?これでできるんじゃね?」と感じ試してみた。

Google Apps ScriptはGoogleが提供しているクラウド型のスクリプトエンジンでJavascriptで記述できる。特徴としてはGoogleのサービスに簡単に接続するためのAPIが提供されていることでこれを使えば、GmailやGoogle Docのスプレッドシートに簡単に読み書きできる。

ちょっと書き始めた途中のコードが以下。

function gmail() {
  var threads = GmailApp.search('subject:"Amazon.co.jp ご注文"',0,10);
  for (var ti=0; ti<threads.length; ti++) {
    var t = threads[ti];
    Logger.log(t.getFirstMessageSubject());
    var messages = t.getMessages();
    for (var mi=0; mi<messages.length; mi++) {
      var m = messages[mi];
      var b = m.getBody();
      b.match(/([0-9]+)/); 
      Logger.log(RegExp.$1);      
    }
  }
}

あとはメールから商品と金額を頑張って抜き出すというメインの作業のところにきて

「あれ・・・?そもそもレシートに頼らなくてもAmazonの購入履歴見ればよくね!??」

ということに気がついてしまって作業が中断してしまった。

メールから商品名と金額を取り出すのはちょっと難しそうだが、文章のルールを割り出せればできなくもないはず。これを各ネットショップごとにやっていけばできそうな気がする。アイディアとしては面白そう。

そもそもこんな面倒なことをしなくてもクレジットカードの明細が家計簿になっているのが理想。