今回の記事は、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
コメント