根据 google 工作表中的日期获取电子邮件详细信息
Get email details based on the dates in google sheets
我正在使用下面提到的应用程序脚本根据特定单元格中更新的标签名称获取 google 工作表中的电子邮件详细信息。
function getBaEmails() {
var sheet = SpreadsheetApp.getActiveSpreadsheet();
var ss = sheet.getSheetByName("Raw Data");
var row = 2;
ss.getRange(2, 1, ss.getMaxRows() - 1, 4).clearContent();
var label = ss.getRange("F1").getValue();
var pattern = ss.getRange("F2").getValue();
var threads = GmailApp.search("in:" + label);
for (var i = 0; i < threads.length; i++) {
var messages = threads[i].getMessages();
for (var m = 0; m < messages.length; m++) {
var msg = messages[m].getBody();
if (msg.search(pattern) !== -1) {
ss.getRange(row,1).setValue(
Utilities.formatDate(messages[m].getDate(),"GMT","MM-dd-yyyy"));
ss.getRange(row,2).setValue(messages[m].getFrom());
ss.getRange(row,3).setValue(messages[m].getSubject());
var id = "https://mail.google.com/mail/u/0/#all/"
+ messages[m].getId();
ss.getRange(row,4).setFormula(
'=hyperlink("' + id + '", "View")');
row++;
}
}
}
};
我正在尝试更新应用程序脚本,这有助于根据日期获取电子邮件详细信息。
例如:我需要从 08/01/2019
到 08/30/2019
的电子邮件详细信息。
如果有人帮我更新应用程序脚本就太好了。
提前致谢。
尝试这样的事情:
您可以随时在 Gmail 中测试您的查询
function gmailSearch(label,after,before) {
var label=label||'qs-vendors-google';
var after=after||'2019/01/01';
var before=before||'2019/08/01';
var html='';
var qry=Utilities.formatString('label:%s after:%s before:%s',label,after,before);
var results=GmailApp.search(qry);
for(var i=0;i<results.length;i++) {
var msgs=results[i].getMessages()
for(j=0;j<msgs.length;j++) {
html+=Utilities.formatString('<strong>Date:</strong> %s <strong>From: </strong> %s <strong>Subject: </strong> %s<br />',msgs[j].getDate(),msgs[j].getFrom(),msgs[j].getSubject());
}
}
var userInterface=HtmlService.createHtmlOutput(html).setWidth(1000);
SpreadsheetApp.getUi().showModelessDialog(userInterface, 'Search Results')
}
我正在使用下面提到的应用程序脚本根据特定单元格中更新的标签名称获取 google 工作表中的电子邮件详细信息。
function getBaEmails() {
var sheet = SpreadsheetApp.getActiveSpreadsheet();
var ss = sheet.getSheetByName("Raw Data");
var row = 2;
ss.getRange(2, 1, ss.getMaxRows() - 1, 4).clearContent();
var label = ss.getRange("F1").getValue();
var pattern = ss.getRange("F2").getValue();
var threads = GmailApp.search("in:" + label);
for (var i = 0; i < threads.length; i++) {
var messages = threads[i].getMessages();
for (var m = 0; m < messages.length; m++) {
var msg = messages[m].getBody();
if (msg.search(pattern) !== -1) {
ss.getRange(row,1).setValue(
Utilities.formatDate(messages[m].getDate(),"GMT","MM-dd-yyyy"));
ss.getRange(row,2).setValue(messages[m].getFrom());
ss.getRange(row,3).setValue(messages[m].getSubject());
var id = "https://mail.google.com/mail/u/0/#all/"
+ messages[m].getId();
ss.getRange(row,4).setFormula(
'=hyperlink("' + id + '", "View")');
row++;
}
}
}
};
我正在尝试更新应用程序脚本,这有助于根据日期获取电子邮件详细信息。
例如:我需要从 08/01/2019
到 08/30/2019
的电子邮件详细信息。
如果有人帮我更新应用程序脚本就太好了。
提前致谢。
尝试这样的事情:
您可以随时在 Gmail 中测试您的查询
function gmailSearch(label,after,before) {
var label=label||'qs-vendors-google';
var after=after||'2019/01/01';
var before=before||'2019/08/01';
var html='';
var qry=Utilities.formatString('label:%s after:%s before:%s',label,after,before);
var results=GmailApp.search(qry);
for(var i=0;i<results.length;i++) {
var msgs=results[i].getMessages()
for(j=0;j<msgs.length;j++) {
html+=Utilities.formatString('<strong>Date:</strong> %s <strong>From: </strong> %s <strong>Subject: </strong> %s<br />',msgs[j].getDate(),msgs[j].getFrom(),msgs[j].getSubject());
}
}
var userInterface=HtmlService.createHtmlOutput(html).setWidth(1000);
SpreadsheetApp.getUi().showModelessDialog(userInterface, 'Search Results')
}