Google apps script 在不触发日历触发器的情况下创建或修改事件
我有一个修改日历的触发器。在本文中,我希望能够修改一个事件,该事件的时间刚刚被用户更改(通过提供存储在Google Sheets中的正确时间) 或者,如果该事件被用户意外删除,则重新创建该事件Google apps script 在不触发日历触发器的情况下创建或修改事件,google-apps-script,Google Apps Script,我有一个修改日历的触发器。在本文中,我希望能够修改一个事件,该事件的时间刚刚被用户更改(通过提供存储在Google Sheets中的正确时间) 或者,如果该事件被用户意外删除,则重新创建该事件 如果不触发相同的日历触发器,这是否可能?如果您在触发器本身内部修改日历(创建、更新、删除事件),则不会触发日历触发器,但作为一种解决方法,您可以在触发器本身内部调用相同的函数。例如: // Global variables var counter = 0; // Calendar Trigger fun
如果不触发相同的日历触发器,这是否可能?如果您在触发器本身内部修改日历(创建、更新、删除事件),则不会触发日历触发器,但作为一种解决方法,您可以在触发器本身内部调用相同的函数。例如:
// Global variables
var counter = 0;
// Calendar Trigger
function onCalendarTrigger(e) {
var calendar = CalendarApp.getCalendarById('your-calendar-id');
// Create a random event
calendar.createEvent(`Test Created ${Math.random()}`,
new Date('May 15, 2020 20:00:00 UTC'),
new Date('May 16, 2020 21:00:00 UTC'));
if(counter < 1){
// Increment the counter
// before the onCalendarTrigger function is being called again
// In this way, you will not enter in this section again
counter++;
onCalendarTrigger(e);
}
}
//全局变量
var计数器=0;
//日历触发器
装配工(e)的功能{
var calendar=CalendarApp.getCalendarById('your-calendar-id');
//创建一个随机事件
calendar.createEvent(`Test Created${Math.random()}`,
新日期(“2020年5月15日20:00:00 UTC”),
新日期(“2020年5月16日21:00:00 UTC”);
如果(计数器<1){
//递增计数器
//在再次调用onCalendarTrigger函数之前
//这样,您将不会再次进入此部分
计数器++;
onCalendarTrigger(e);
}
}
要小心这个变通方法,因为如果你做得不对,你会进入一个无限循环,你肯定会遇到问题。只有一个。使用不同的日历触发器的目标是什么?事实上,问题是当我在触发器自己运行的脚本中创建、修改或删除事件时,是否触发了日历触发器