Amazonからのメールをスプレッドシートに読み込む

去年からスプレッドシートで家計簿を作っている。レシートからのOCRもGoogleDocで何とか実装できたが、Amazonから購入する機会が増えている今、その分の購入記録を付けるのがやや面倒。Amazonの購入履歴のページをスクレイピングで、、とも考えたが、ページ数もあるし情報量が多くてちょっと面倒な気がする(後々考えていくことにしよう)。で今回は定期おとく便にしぼって、このお知らせメールから読み込むことにした。でも意外なところでつまづいた。。。

Amazonからのメールには最近商品名や価格が直接表示されていない(これ何が来るのか分からないから改善してほしいけど)。しかし定期おとく便の「次回の配送を確認する」という件名で届くお知らせには注文商品と価格が表示されている。これを読み込むだけなら簡単!とHTMLメールをGetPlainBody()で取得して、、できた!と思ったら、よく見るとなんか価格が違う・・・メールのどこにも書かれていない価格が出てくる??なんと「税抜き価格」だ。はぁ? まぁスプレッドシートで外税として課税すれば、、と思いきや消費税が小数点以下「切上げ」設定・・・。大体のお店は切り捨てなのでそっちで設定してるためAmazonのためだけに店名によって式を変えるのも面倒だ。やっぱり税込価格で抜きたい。

そこで、価格部分に関してはGetBody()を使うことに。これはソースをそのまま取ってくるらしいので必ず出るだろう。GetPlainBody()からのテキストでもどうにかすれば出てくるのかもしれないが、、そこんとこ詳しくなくてよく分からなかったので。

なんやかんやでどうにか税込価格を取り出して、スプレッドシートへ持ってこれた。Amazonで税抜き価格を見たのはこれが初めてだったなぁ。