解析Gmails并将主题行提取到Google电子表格中

时间:2018-02-20 07:32:50

标签: javascript gmail-api google-spreadsheet-api

我正在尝试创建一个代码,该代码通过gmail解析并提取特定标记电子邮件的主题行,并自动将数据导出到Google电子表格中。

var sheet = SpreadsheetApp.getActiveSheet();
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();

function getEmails() {
  var label = GmailApp.getUserLabelByName("Reservation confirmed");
  var threads = label.getThreads();
  var row = 2;
  for (var i = 0; i < threads.length; i++) {
    var messages=threads[i].getMessages();
    for (var m=0; m < messages.length; m++) {   
      sheet.getRange(row,1).setValue(messages[m].getPlainBody());
      row++;
    }
  }
}

function onOpen() {
  var menuEntries = [ {name: "Load Emails", functionName: "getEmails"} ];
  spreadsheet.addMenu("Email", menuEntries);
}

这个当前的代码我已经使用标记的电子邮件正文但由于某种原因我不能改变它以便它只需要主题行。

2 个答案:

答案 0 :(得分:0)

请在消息上使用getSubject()功能:

for (var m=0; m < messages.length; m++) {   
  sheet.getRange(row,1).setValue(messages[m].getSubject());
  row++;
}

答案 1 :(得分:0)

您可以将完整主题转储到另一列中,并使用公式提取日期,如下所示:

=正确(&#39;单元格引用&#39;,(Len(&#39;单元格引用&#39;) - 查找(&#34;确认&#34;,&#39;放置您的单元格这里参考&#39;)) - 13)