&引用;TypeError:无法读取属性';getEvents';“未定义”的定义;尝试从Google工作表中删除日历事件时

&引用;TypeError:无法读取属性';getEvents';“未定义”的定义;尝试从Google工作表中删除日历事件时,events,google-sheets,calendar,google-classroom,Events,Google Sheets,Calendar,Google Classroom,我正在使用一个我找到的代码从google日历中删除批量事件,该代码基于google工作表中的值(代码在google工作表脚本编辑器中)。 当我在我的个人日历上使用它时,它是有效的,但是当我尝试从google课堂日历(我是它的管理员)中挖掘事件时,我得到错误消息“TypeError:无法读取undefined的属性'getEvents'。你知道为什么会这样吗 function delete_google_calendar() { var spreadsheet = SpreadsheetApp

我正在使用一个我找到的代码从google日历中删除批量事件,该代码基于google工作表中的值(代码在google工作表脚本编辑器中)。 当我在我的个人日历上使用它时,它是有效的,但是当我尝试从google课堂日历(我是它的管理员)中挖掘事件时,我得到错误消息“TypeError:无法读取undefined的属性'getEvents'。你知道为什么会这样吗

function delete_google_calendar()
{
  var spreadsheet = SpreadsheetApp.getActiveSheet();
  var startYear = spreadsheet.getRange("B67").getValue();
  var startMonth = spreadsheet.getRange("F67").getValue();
  var startDay = spreadsheet.getRange("H67").getValue();
    var endYear = spreadsheet.getRange("B68").getValue();
  var endMonth = spreadsheet.getRange("F68").getValue();
  var endDay = spreadsheet.getRange("H68").getValue();
  var fromDate = new Date(startYear,startMonth,startDay,0,0,0);
var toDate = new Date(endYear,endMonth,endDay,0,0,0);
var calendarId = "mandel-institute.org.il_classroom682af58e@group.calendar.google.com";
  // First number: Year
  //Second number: Month (January=0)
  //Third number: Day

var calendar = CalendarApp.getCalendarsByName(calendarId)[0];
var events = calendar.getEvents(fromDate, toDate);
for(var i=0; i<events.length;i++){
  var ev = events[i];
  ev.deleteEvent();

}
}
函数删除谷歌日历()
{
var电子表格=SpreadsheetApp.getActiveSheet();
var startYear=spreadsheet.getRange(“B67”).getValue();
var startMonth=spreadsheet.getRange(“F67”).getValue();
var startDay=spreadsheet.getRange(“H67”).getValue();
var endYear=spreadsheet.getRange(“B68”).getValue();
var endMonth=spreadsheet.getRange(“F68”).getValue();
var endDay=spreadsheet.getRange(“H68”).getValue();
var fromDate=新日期(startYear、startMonth、startDay,0,0,0);
var toDate=新日期(年末、月末、月末、0,0);
var calendarId=“mandel-institute.org.il_classroom682af58e@group.calendar.google.com";
//第一个数字:年份
//第二个数字:月份(一月=0)
//第三个数字:天
var calendar=CalendarApp.getCalendarsByName(calendarId)[0];
var events=calendar.getEvents(fromDate,toDate);
for(var i=0;iApps脚本提供用于检索日历的方法:和
因此,由于您有可用的Calendar id,因此需要使用方法
getCalendarById(id)

var calendar=CalendarApp.getCalendarById(calendarId)

由于
id
明确标识了一个日历,因此只会返回一个日历(而不是数组),因此跳过
[0]

应用程序脚本提供的用于检索日历的方法:和 因此,由于您有可用的Calendar id,因此需要使用方法
getCalendarById(id)

var calendar=CalendarApp.getCalendarById(calendarId)


由于
id
明确地标识了一个日历,因此只会返回一个日历(而不是一个数组),因此跳过
[0]

非常感谢!非常有效:)非常感谢!非常有效:)