今回の記事は、GoogleAppsScriptでGmailを取ってくるときに使う、GmailApp.searchの使い方についてまとめました。
GmailApp.searchで日付を指定する
GmailApp.searchで特定の日付を指定する場合には「after」「before」を使用します。
function myFunction(){ var query = "after:2019/10/24 before:2019/10/25"; var threads = GmailApp.search(query); }
特定の日付ではなく指定した年数(y)・月数(m)・日数(d)で検索する場合には「older_than」「newer_than」を使用します。
function myFunction(){ var query = "older_than:2d"; var threads = GmailApp.search(query); }
サンプルでは二日前より以前のものを取ってきます。
GmailApp.searchで件名を指定する
GmailApp.searchで件名を指定して検索するにはsubject演算子を使います
function myFunction(){ var query = "subject:test"; var threads = GmailApp.search(query); }
この例でいえば、件名にtestと含まれているメールを取得します。
GmailApp.searchでラベルを指定する
GmailApp.searchでラベルを指定して検索するにはlabel演算子を使います。
function myFunction(){ var query = "label:保存"; var threads = GmailApp.search(query); }
GmailApp.searchで送信者を指定する
GmailApp.searchで送信者を指定して検索するにはfrom演算子を使います
function myFunction(){ var query = "from:xxxxx@gmail.com"; var threads = GmailApp.search(query); }
GmailApp.searchで複数条件を指定する
GmailApp.searchで複数条件の指定の仕方としては、
AND条件であれば半角スペース区切り ※場合によっては()でくくる必要あり
OR条件であれば{}を使います。
件名にテストを含む かつ 指定の送信者
function myFunction(){ var query = "subject:テスト from:xxxx@gmail.com";function myFunction(){ var query = "subject:{テスト サンプル}"; var threads = GmailApp.search(query); }}
件名にテストを含む もしくは 指定の送信者
function myFunction(){ var query = "{subject:テスト from:xxxx@gmail.com}"; var threads = GmailApp.search(query); }件名にテスト かつ サンプル を含む
function myFunction(){ var query = "subject:(テスト サンプル)"; var threads = GmailApp.search(query); }件名にテスト もしくは サンプル を含む
(件名にテスト かつ 指定の送信者)もしくは(指定の送信者)
function myFunction(){
var query = “{(subject:テスト from:xxxx@gmail.com) (from:yyyy@gmail.com)}”;
var threads = GmailApp.search(query);
}おまけ
普段なかなか使わないのですが、人によっては使う人もいるかと思いますので、載せておきます。
未読メールを検索する ⇒ is:unread
既読メールを検索する ⇒ is:read
添付ファイルのあるメールを検索 ⇒ has:attachment