あるWebサイトのメールフォームのメールがGmailに転送されてくるので、そのメールをGoogle Apps Scriptを使ってGoogleスプレッドシートに書き込むスクリプトを書くことになりました。
すでにシートに書き込まれたもの以降のメールを取得する方法を調べてみると、GmailApp.search()というメソッドのafter:という検索演算子を使うらしい。
Gmailを見てみるとスレッドになっていないので、単にシートに記入済みの最終タイムスタンプよりあとのメールを取得すればいいと思ったのですが、このafter:というのは「日」の指定までしかできないみたい。
何かいい方法はないか調べていたらありました。UNIX時間に変換したものを指定すればいいそう。
https://www.lifehacker.jp/2016/12/161221_gmail_timesearch.html
しかしやってみると、どうもうまくいきません。
もしかして、この転送されたメールってスレッドになってるんじゃない?
これも調べてみると、なんとGmailのスレッド表示って解除できるらしい。画面右上の歯車アイコン → 設定 → スレッド表示ON/OFFの切り替えがあります。
これGmailの基本情報ですか?今日初めて知りました・・・。
もうね、安請け合いするとすぐこれです。
以前プログラマーさんは見積もりをするとき慎重にことを進めるけど、自分はいい加減だからいつも失敗すると書きましたが、また同じ過ちを繰り返してしまいました。
まあプログラマーさんに頼むほどのものではない仕事だから私に依頼するのでしょうし、私もそれで請けているのですが、発注する方はこのようなことも想定済みだろうなと思うとちょっと感心してしまいました。