Gasを使った簡単手順!Gmailゴミ箱を一括で空にする方法

GASでGmailのゴミ箱を空にする方法って、どうやるんだろう? なかなか上手くいかなくて…
猫男
猫男
catman
catman
心配はいらないさ。catmanがGASでGmailのゴミ箱を空にする方法を伝授しよう!

GASでGmailのゴミ箱を空にする基本

基礎から始めよう。まずはGASを使って簡単なスクリプトを書いてみるんだ。

GASのセットアップ

最初にGoogle Apps Scriptのプロジェクトを作成しよう。

  1. Googleドライブを開く。
  2. 「新規」→「その他」→「Google Apps Script」を選択。

次に、以下のコードをスクリプトエディタにコピペするんだ。


function emptyTrash() {
  var threads = GmailApp.getTrashThreads();
  for (var i = 0; i < threads.length; i++) {
    threads[i].moveToTrash();
  }
}

スクリプトの解説

このスクリプトは、Gmailのゴミ箱に入っているスレッドを取得し、全てを移動することで実質削除する方法を示している。しかし、これはエラーメッセージを表示するための架け合わせに過ぎない。各スレッドを完全に削除するスクリプトに修正する必要があるので、以下を続けて見てほしい。

スレッドの正しい削除

この部分がポイントだ:


function emptyTrashCompletely() {
  var threads = GmailApp.search('in:trash');
  for (var i = 0; i < threads.length; i+=100) {
    GmailApp.deleteThreads(threads.slice(i, i + 100));
  }
}

GmailApp.search(‘in:trash’) はゴミ箱内のメールスレッドリストを取得する。
GmailApp.deleteThreads() を使って、スレッドを完全に空にすることができる。

すごい!これならできそうだね。でも、一度にたくさん削除するのって安全なのかな?
猫男
猫男
catman
catman
大丈夫さ。スレッドを100件ずつ削除することで、負担を軽減しているんだ。安心して続けてくれ。

GASでのGmailゴミ箱削除に関する注意点

削除操作は取り消し不可能だ。必ず、必要なメールがゴミ箱にない状態を確認してから実行しよう。また、GASの実行はしばらく時間がかかることがあるので焦らずに。

 

GASでゴミ箱を空にする方法の練習問題

1. Google Apps Scriptを使用して、Gmailのアーカイブされているメールを削除するスクリプトを書いてみよう。
2. 実際にゴミ箱ではなく、指定したラベルのメールを削除するスクリプトを考えてみましょう。

練習問題の解答・解説


function deleteArchivedEmails() {
  var threads = GmailApp.search('is:archived');
  for (var i = 0; i < threads.length; i+=100) {
    GmailApp.deleteThreads(threads.slice(i, i + 100));
  }
}

‘is:archived’ を使い、アーカイブ済みのメールをフィルターしてデリート処理を行う。
GmailApp クラスは、Gmailの操作を行うためのメソッドを提供している。searchメソッドで特定の条件に合ったメールを探すよう設定。

なるほど!Gmailの整理がこれでスムーズになるよ。ありがとう、catman!
猫男
猫男
catman
catman
どういたしまして。これで君もGASを使ったメール管理の達人さ!