ScriptでGmailにあるカード明細をスプレッドシートに出力するGASを使ってGmailの整理の自動化を進めているのですが、Amazonやメインで使っている銀行口座やクレジットカードなどの明細はせっかくなのでスプレッドシートに転記してからメールを削除するようにすると色々便利そうです。Serviceは1日あたりの制限があるがGmailで取得すれば回数を圧迫しない(スクリプトの実行時間制限はあるけど)というわけで手始めに猫でも取れると評判の楽天カードの明細をスプレッドシートに転記してから削除するGASを書きました。今回はGASで取得しやすくするためにGmail側で受信時にラベルをつけるフィルタを設定することにしました。楽天はカード決済があるたびにメールでお知らせしてくれます。(これは親切で良いですね。)楽天カードは利用明細メールに金額だけで情報の少ない速報版があるのでそれは除外するようにフィルタを設定します。楽天の明細メールをプレーンテキストで取得すると次のようなフォーマットになります。2018/12(中略)結構抜き出しやすそうです。利用先は日本語は半角カナでの記載になるので変換してあげると良さそうです。このうち利用者欄は結構最近追加された部分で、今後も多分本人しか使わないので今回は取得から外します。'件の楽天カード明細メールを削除しました。');}ラベルのついたスレッドを取得してループを回してスプレッドシートに書き込む配列を作っています。Qiitaからお借りしました。Gmailスレッドは日付が新しい順から取得されているので、スプレッドシートは古い順に書き込むように配列を.reverse()で反転させています。メールの削除はループ中にもできますが念のため最後にしました。結果できました(Amazonの5円なんだろうと思ったらインベスターZのセールですね)あとはGASのトリガーで毎月の支払確定日あたりに実行すればOKですね。Amazonの履歴も同じスプレッドシートに同期しておけば、今度は各シートの項目同士をリンクしたり、スプレッドシートのクエリ関数でいい感じにまとめられそうです。発達をしくじって窮乏生活してるおじさんです。思いついたようにプログラミング勉強したりします(最近はNode.js)。