ぱすたけ日記

日記っぽいのを書きます。

Kindleの購入内容確認メールの変更でGmailを経由した自動化が出来なくなって困ってる

2年以上に渡って、Kindleの購入履歴をGoogle App Scriptを使ってGmail経由で取得してSpreadsheetに書き込む仕組みを動かしていた。

HTMLメールを気合でパースして、ASINや作品名や購入時の価格を記録して暮らしていた。選択した行からはてなブログ用に貼り付ける文言の生成とかもやってるので、これが無いとこういうブログも書けない。

そんな中、7月下旬にある日メールの様子が変わった……

テキストメールに変更してみるも特に状況は変わらず。

Amazonの購入履歴をブラウザで開いて、適当なスニペットを実行すれば良いというのはそうであったが、購入履歴ページだけだと内訳が分からないのであった。

メール内からのリンクを踏むと毎回ログインさせられていたけど、購入履歴ページからのリクエストだとそのまま200でHTMLが返ってくることに気付いたので、購入履歴ページからfetchで詳細ページのHTML取得して、メール用のパーサーに手を加えて加工して、TSVにするというのをやった。

まぁ1回ログインするとその後数分はログイン無しで行けるのでまぁまぁ使えるようにはなった。とりあえず僕がもともとからSpreadsheetに書き込んでいた

  • 注文ID
  • 購入日
  • タイトル
  • URL
  • ASIN
  • 価格

は全部取れるようになった。

言い訳をしておくと、GASがV8じゃない時代に書いたコードを使いまわしているので、もう少し諸々キレイにしたりは出来そう。一旦は動いてるのでヨシ。というわけでサイドバーの「最近買ったマンガ」のコーナーも更新されるようになりました

残りとしては

  • これをTampermonkeyとかで呼び出しやすくする
  • GASでWeb APIを作って、TSVをPOSTすると書き込めるようにする

とかするとまぁまぁ暮らしに1日1回押すボタンが増えるくらいで耐えられそう。なんか良いソリューション他にもあったら教えて下さい。