Google Apps ScriptでGmailのメールをSpreadsheetに書き出す

Google Apps ScriptでGmailのメールをSpreadsheetに書き出す

受信トレイにあるスレッドを取得する

受信トレイにあるスレッドを取得するには、GmailAppクラスgetInboxThreads()メソッドを使用します。

var threads = GmailApp.getInboxThreads();

getInboxThreads()メソッドGmailThreadオブジェクトの配列を返します。

スレッドからメールを取得する

スレッド内のメールの数はGmailThreadオブジェクトgetMessages()メソッドで取得できます。

Logger.log(thread.getMessageCount());

スレッド内のメールはGmailThreadオブジェクトgetMessages()メソッドで取得します。

getMessages()メソッドは、GmailMessageオブジェクトの配列を返します。

var messages = thread.getMessages();

メールの情報を取得する

GmailMessageオブジェクトのメソッドを使ってメールの情報を取得します。

// 差出人
var from = message.getFrom();
// 宛先
var to = message.getTo();
// 送信日時
var date = message.getDate();
// 件名
var subject = message.getSubject();
// 本文
var body = message.getBody();

GmailのメールをSpreadsheetに書き出す

GmailのメールをSpreadsheetに書き出すコードです。

function getMail() {
    var sheet = SpreadsheetApp.getActiveSheet();
    var threads = GmailApp.getInboxThreads();
    var row = 1;
    for (var i = 0; i < threads.length; i++) {
        var thread = threads[i];
        var messages = thread.getMessages();
        for (var j = 0; j < messages.length; j++) {
            var message = messages[j];
            var from = message.getFrom();
            var to = message.getTo();
            var date = message.getDate();
            var subject = message.getSubject();
            var body = message.getBody();
            sheet.getRange(row, 1).setValue(from);
            sheet.getRange(row, 2).setValue(to);
            sheet.getRange(row, 3).setValue(date);
            sheet.getRange(row, 4).setValue(subject);
            sheet.getRange(row, 5).setValue(body);
            row++;
        }
    }
}

Gmailのスレッドの件名をSpreadsheetに書き出す

Gmailのスレッドの件名をSpreadsheetに書き出すコードです。

function getThreadSubject() {
    var sheet = SpreadsheetApp.getActiveSheet();
    var threads = GmailApp.getInboxThreads();
    for (var i = 0; i < threads.length; i++) {
        sheet.getRange(i + 1, 1).setValue(threads[i].getFirstMessageSubject());
    }
}

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

This site uses Akismet to reduce spam. Learn how your comment data is processed.