【GAS】Gmailに届いた受信トレイの未読メールを自動的に既読にしてスプレッドシートに書き込む-Part1
Gmailの受信トレイのスレッドを取得して既読にする
Gmailの受信トレイのスレッドを取得して既読にするには、下記のようなコードで可能です。
function markAsRead() {
const threads = GmailApp.getInboxThreads(); // 受信トレイのスレッドを取得
for (var i = 0; i < threads.length; i++) {
if (threads[i].isUnread()) { // 未読の場合
threads[i].markRead(); // 既読にする
}
}
}
メソッドを使用して既読にします。このスクリプトでは、markAsRead
関数を定義しています。この関数内で、GmailApp.getInboxThreads
メソッドを使用して受信トレイのスレッドを取得し、for
ループを使用して各スレッドが未読の場合にmarkRead
スクリプトを実行してみます。
すべて既読になりました!
受信トレイだけでなく、スター付きなども可能です。
受信トレイのスレッド
GmailApp.getInboxThreads()
スター付きスレッド
GmailApp.getStarredThreads()
迷惑メールスレッド
GmailApp.getSpamThreads()
ゴミ箱スレッド
GmailApp.getTrashThreads()
GmailApp.search
GmailApp.searchを使うと、Gmail内を検索できます。getInboxThreads()メソッドの場合は、受信トレイ内の処理ができましたが、もし、特定のラベル内や、その他の条件で絞って実行したい場合はGmailApp.searchを使います。
GmailApp.search(query, start, max)
引数については、それぞれ下記のようになっています。
query:検索条件
start:取得する開始番号
max:取得する件数
例えば、未読を直近10件検索する場合は下記のようになります。
const threads = GmailApp.search('is:unread', 0, 10);
単に未読のみとする場合は、引数を減らします。
続きはこちら