Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google apps script 在不触发日历触发器的情况下创建或修改事件_Google Apps Script - Fatal编程技术网

Google apps script 在不触发日历触发器的情况下创建或修改事件

Google apps script 在不触发日历触发器的情况下创建或修改事件,google-apps-script,Google Apps Script,我有一个修改日历的触发器。在本文中,我希望能够修改一个事件,该事件的时间刚刚被用户更改(通过提供存储在Google Sheets中的正确时间) 或者,如果该事件被用户意外删除,则重新创建该事件 如果不触发相同的日历触发器,这是否可能?如果您在触发器本身内部修改日历(创建、更新、删除事件),则不会触发日历触发器,但作为一种解决方法,您可以在触发器本身内部调用相同的函数。例如: // Global variables var counter = 0; // Calendar Trigger fun

我有一个修改日历的触发器。在本文中,我希望能够修改一个事件,该事件的时间刚刚被用户更改(通过提供存储在Google Sheets中的正确时间)

或者,如果该事件被用户意外删除,则重新创建该事件


如果不触发相同的日历触发器,这是否可能?

如果您在触发器本身内部修改日历(创建、更新、删除事件),则不会触发日历触发器,但作为一种解决方法,您可以在触发器本身内部调用相同的函数。例如:

// 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);
}
}

要小心这个变通方法,因为如果你做得不对,你会进入一个无限循环,你肯定会遇到问题。

只有一个。使用不同的日历触发器的目标是什么?事实上,问题是当我在触发器自己运行的脚本中创建、修改或删除事件时,是否触发了日历触发器