我想根据电子邮件进入收件箱的时间创建日历事件。我希望这种情况会在电子邮件收到后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()});
}
[这里是一个函数,当我只想从现在开始6个小时通知自己时,我使用它来创建事件,并且我使用了一种相当隐秘的输入技术,它描述了文本框EventTitle/hours/min/
的html占位符属性,我在[C0 ]如果长度为3或更短,那么我会自动创建30,15,0分钟的通知,但是我只是从今天起两周创建了一个事件,并使用此输入字符串/
发出了一个通知,该通知将在明天发生。这是代码。
TwoWeeksFromToday/336/0/18720
我已经用这种方式使用了大约3年。
日历事件的图像:
function createEventWithReminders(eA) {
var minute=60*1000;
var hour=60*minute;
var cal=CalendarApp.getCalendarById(getGlobal('DailyEventsId'));
var now=new Date();
var startValue=now.valueOf() + (Number(eA[1]) * hour ) + (Number(eA[2]) * minute);
var start=new Date(startValue);
var endValue=start.valueOf() + (10 * minute);
var end=new Date(endValue);
var event=cal.createEvent(eA[0], start, end);
if(eA.length>3) {
for(var i=3;i<eA.length;i++) {
event.addEmailReminder(eA[i]);
}
}
else{
event.addEmailReminder(0);
event.addEmailReminder(15);
event.addEmailReminder(30);
}
return true;
}