如何从gmail获取主题并将其放入谷歌文档或电子表格

时间:2015-03-16 18:38:36

标签: google-apps-script gmail spreadsheet subject

我正在尝试自动将主题行提取到Google文档或电子表格。我找到了一个基本的例子,但不知道如何使这项工作。

function processInbox() {
    // get all threads in inbox
    var threads = GmailApp.getInboxThreads();
    for (var i = 0; i < threads.length; i++) {
        // get all messages in a given thread
        var messages = threads[i].getMessages();
        // iterate over each message
        for (var j = 0; j < messages.length; j++) {
            // log message subject
            Logger.log(messages[j].getSubject());
        }
    }
}

2 个答案:

答案 0 :(得分:1)

这是Javascript,而不是Java。上面的脚本将您的所有邮件收集到一个列表中,这是正确的第一步,但它不会将其写入工作表。

之后,您需要添加一个额外的功能来写出来。如果你在电子表格中,你可以使用这样的东西。我修改了上面的函数,将主题放入一个数组,而不是将它们记录到控制台中,让它返回该数组。

function processInbox() {
    var threads = GmailApp.getInboxThreads();
    var subjects = [[]];    

    for (var i = 0; i < threads.length; i++) {

        var messages = threads[i].getMessages();

        for (var j = 0; j < messages.length; j++) {

            subjects[j] = [messages[j].getSubject()];
        }
    }

    return subjects;
}

function writeOutSubjects() {

    var ss = SpreadsheetApp.getActiveSpreadsheet();
    var sheet = ss.getSheets()[0];

    var subjects = processInbox();
    var range = sheet.getRange(1,1,subjects.length,1);

    range.setValues(subjects);

};

答案 1 :(得分:0)

您需要使用setValue()之类的方法。您需要获得对电子表格的引用,然后是要处理的工作表,然后是设置值的范围。

Google Documentation