您可以使用Google Script在将来的特定日期创建日历事件吗?

问题描述 投票:0回答:1

我想根据电子邮件进入收件箱的时间创建日历事件。我希望这种情况会在电子邮件收到后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()});
}
google-apps-script google-calendar-api
1个回答
0
投票

[这里是一个函数,当我只想从现在开始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; }

© www.soinside.com 2019 - 2024. All rights reserved.