【GAS】GmailApp.searchを使ってGmailをさまざまな条件で取得する使い方

Google Apps Script

今回の記事は、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

コメント

タイトルとURLをコピーしました