【发布时间】:2021-03-10 03:32:46
【问题描述】:
我刚开始涉足 Google Apps 脚本;想问一下我的方向是否正确,以及如何在脚本中操纵时间。
我正在努力尝试在 Google App Script 中操作时间值,基本上我可以提取每封已发送电子邮件的时间戳,但我只想将最近的电子表格电子邮件信息粘贴到电子表格中,例如从脚本运行时间开始 30 分钟内。这是为了避免拉取重复信息。
不确定这里是否有 currentTime() 函数,或者我必须创建一个新的 Date() 对象并从那里进行一些计算。尝试了一些变体,但似乎没有任何效果。
非常感谢您帮助我们朝着正确的方向前进,谢谢!
function getDetails(){
var DEST_URL = "SHEET_URL"; //redacted for sensitivity
var DEST_SHEETNAME = "Test";
var destss = SpreadsheetApp.openByUrl(DEST_URL);
var destSheet = destss.getSheetByName(DEST_SHEETNAME);
var threads = GmailApp.search("FILTERS"); //filter settings redacted for sensitivity
for(var i = 0; i < threads.length; i++){
var messages=threads[i].getMessages();
for(var j =0; j < 1; j++){ //only take first message in thread
var message = messages[j];
var subject = message.getSubject() ;
var sentTimeStamp = message.getDate();
if(sentTimeStamp is within last 30minutes as of script run time){ //this is where i need help
var delimitString = subject.split("is sent");
var detailName = delimitString[0];
var lastRow = destSheet.getLastRow();
destSheet.getRange(lastRow + 1,1).setValue(detailName);
destSheet.getRange(lastRow + 1,2),setValue(sentTimeStamp);
}
}
}
}
【问题讨论】:
标签: google-apps-script google-sheets gmail-api