我的工作使用gmail和许多标签来帮助区分我们的工作。我们正在尝试根据标签导出。我需要的Gmail信息是收件人,收件人和主题。有几种方法可以完成此操作,下载所有电子邮件并在其中包含我可以解析的标签的列,或者为每个标签创建不同的宏。我在网上找到了一些代码,但只允许选择上一个日期的数据。我需要能够选择相对于当前日期的日期范围。就像今天到1年前一样。或昨天加上一年前。请帮助,我的编码不是这个高级。
function FollowUpYesterday() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheets = ss.getSheets();
var sheet = ss.getSheetByName("data");
var today = new Date();
var dd = today.getDate() - 1;
var mm = today.getMonth() + 1; //January is 0 DO NOT FORGET THIS
var yyyy = today.getFullYear();
var yesterday = yyyy + '/' + mm + '/' + dd;
var query = "after:" + yesterday + " label:02 Status/A FollowUp";
var threads = GmailApp.search(query);
for (var i = 0; i < threads.length; i++) {
var messages = threads[i].getMessages();
Logger.log(messages);
for (var m = 0; m < messages.length; m++) {
var supportStats = [];
var from = messages[m].getFrom(); //from field
var to = messages[m].getTo(); //to field
var time = messages[m].getDate(); //date field
var subject = messages[m].getSubject(); //subject field
var mId = messages[m].getId(); //id field to create the link later
var mYear = time.getFullYear();
var mMonth = time.getMonth() + 1;
var mDay = time.getDate();
var messageDate = mYear + '/' + mMonth + '/' + mDay;
Logger.log('msg date ' + messageDate);
if (messageDate === yesterday) {
supportStats.push(from);
supportStats.push(to);
supportStats.push(time);
supportStats.push(subject);
supportStats.push('https://mail.google.com/mail/u/0/#inbox/' + mId);
SpreadsheetApp.getActiveSheet().appendRow(supportStats);
}
}
}
}
上面的标签只是我拥有的许多标签之一。因此,以这种方式提取许多宏,或者如果有一种方式可以提取所有电子邮件并具有标签列,那么我可以解析也可以。