【问题标题】:GoogleScript Mail Parser - Only retrieve emails for past X daysGoogle Script Mail Parser - 仅检索过去 X 天的电子邮件
【发布时间】:2017-01-05 12:43:27
【问题描述】:

构建了一个基本的电子邮件解析器,以便我可以在 gSheet 中获取我的电子邮件,但是,我有超过 50k 封电子邮件,并且每次运行解析器时我只需要在过去 7 天内检索它们。环顾四周,但没有找到任何类似的问题

这是我的脚本

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

function getEmails() {
  var label = GmailApp.getUserLabelByName("HOUSE_PHONELEAD");
  var inc = 100;
  var start = 0;
  var row = 2;
  var threads = label.getThreads();
  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++;
      Utilities.sleep(1000);
    }
  }
}

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

【问题讨论】:

    标签: google-apps-script gmail gmail-api


    【解决方案1】:

    尝试使用

    var threads = GmailApp.search('newer_than:7d');

    而不是

    var threads = label.getThreads();

    搜索方法允许传递一个字符串查询: https://developers.google.com/apps-script/reference/gmail/gmail-app#searchquery

    查询字符串必须是 gmail 特定的运算符:

    https://support.google.com/vault/answer/2474474?hl=en

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-08-29
      • 1970-01-01
      • 2021-02-02
      • 2011-04-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-16
      相关资源
      最近更新 更多