我想根据电子邮件进入我的收件箱的时间来创建日历事件。我希望这发生在电子邮件到达后14天,但特别是在上午9点。现在,我正在尝试让脚本在第二天上午9点运行,然后在该运行时间的13天后创建一个事件。在脚本中有没有更有效的方法来做到这一点呢?
//This script runs the next day around 9am, calendar invite will be created for 13 days form then
to account for the next day
var now = new Date().getTime();
var MILLIS_PER_DAY = 1000 * 60 * 60 * 24;
for (i in threads) {
cals[0].createEvent(reminderLabel + '- '+ i.getFirstMessageSubject(),
new Date(now+(MILLIS_PER_DAY*13)),
new Date(now+(MILLIS_PER_DAY*13)+900000), {description: i.getPermalink()});
}发布于 2020-02-11 23:40:38
您可以在time-driven trigger上每天自动运行该函数
函数的内容应如下所示
if语句以仅列出在过去24小时内到达的消息示例(绑定一个可安装的时间驱动触发器):
function myFunction() {
var threads = GmailApp.getInboxThreads();
var cals = CalendarApp.getAllCalendars();
var now = new Date().getTime();
var nineAm = new Date();
nineAm.setHours(09);
nineAm.setMinutes(00);
nineAm = nineAm.getTime();
var reminderLabel = "Reminder: ";
var MILLIS_PER_DAY = 1000 * 60 * 60 * 24;
for (var i =0; i <threads.length; i++) {
if(threads[i].getLastMessageDate().getTime()>=(now-24*3600*1000)){
Logger.log(threads[i].getLastMessageDate());
cals[0].createEvent(reminderLabel + '- '+ threads[i].getFirstMessageSubject(),
new Date(nineAm+(MILLIS_PER_DAY*13)),
new Date(nineAm+(MILLIS_PER_DAY*13)+900000), {description: threads[i].getPermalink()});
}else{
return;
}
}
}https://stackoverflow.com/questions/60157096
复制相似问题