Debugging 从工作表创建事件时如何处理异常错误?

Debugging 从工作表创建事件时如何处理异常错误?,debugging,google-apps-script,google-sheets,error-handling,google-calendar-api,Debugging,Google Apps Script,Google Sheets,Error Handling,Google Calendar Api,在我看来,下面的脚本将表单提交收集在一张工作表上,并将其记入日历(calId)。但实际上,脚本在var event=thiscanner.createEvent()处崩溃: 异常:无效参数:booker 函数calendarUpload(){ var ss=SpreadsheetApp.getActiveSpreadsheet(); var sheet=ss.getSheetByName(“表单响应1”); var Avals=ss.getRange(“A1:A”).getValues(); v

在我看来,下面的脚本将表单提交收集在一张工作表上,并将其记入日历(
calId
)。但实际上,脚本在
var event=thiscanner.createEvent(
)处崩溃:

异常:无效参数:
booker

函数calendarUpload(){
var ss=SpreadsheetApp.getActiveSpreadsheet();
var sheet=ss.getSheetByName(“表单响应1”);
var Avals=ss.getRange(“A1:A”).getValues();
var lastRow=Avals.filter(String).length;
Logger.log(lastRow);

对于(var i=2;我已经测试了您的脚本,它在我的端运行,没有出现异常。但是,我将我端的日期格式从这部分“Mmmm”调整为“Mmmm”,因为我无法在测试日历上看到创建的事件的正确月份(例如,2021年5月17日,使用“Mmmm”格式表示月份时,显示“5000”)。如果您还可以与示例数据共享一个示例表,以精确复制您的问题,那就更好了。您还可以查看关于“[Ljava.lang.Object;@”的类似帖子。请添加文本错误消息,并在本例中添加一些相同的数据输入和相应的预期结果。
function calendarUpload() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheetByName("Form Responses 1");
  var Avals = ss.getRange("A1:A").getValues();
  var lastRow = Avals.filter(String).length;
  Logger.log(lastRow);
   
  for (var i = 2; i <= lastRow ; i++) {
    var approvalStatus = sheet.getRange(i,1).getValue();
    var name = sheet.getRange(i,8).getValue();            //Event name.
    var description = sheet.getRange(i,9).getValue();     //Event description, agenda.
    var date = sheet.getRange(i,5).getValue();            //Event date.
      var formattedStart = Utilities.formatDate(new Date(date), 'Europe/London', 'MMMM dd, yyyy');
    var startTime = sheet.getRange(i,6).getValue();       //Event starting time.
      var formattedSTime = Utilities.formatDate(new Date(startTime), 'Europe/London','hh:mm');
    var endTime = sheet.getRange(i,7).getValue();         //Estimated end time of event.
      var formattedETime = Utilities.formatDate(new Date(endTime), 'Europe/London','hh:mm');
    var guests = sheet.getRange(i,15,1,10).getValues();   //Event guests by email address.
    var staffMember = sheet.getRange(i,10).getValue();    //Meeting with... Determines Calendar ID (CalID).
    var calId = sheet.getRange(i,11).getValue();          //Calendar.
    var booker = sheet.getRange (i,3).getValue();         //The person booking the meeting.
    var bookerEmail = sheet.getRange(i,4).getValue();     //Email booker, adds to guest list.
    var eventStatus = sheet.getRange(1,1,i,12).getCell(i,12);

    //Create eventName based on reason for meeting.
    if (name == "one-on-one"){
      var title = "ℳ " + booker + " and " + staffMember;
    } else {
      var title = name
    }

    Logger.log(eventStatus);  
    Logger.log(title);
    Logger.log(formattedStart);
    Logger.log(formattedSTime);
    Logger.log(formattedETime);
    Logger.log(guests);
   
    var startDateandTime = (formattedStart+" "+formattedSTime);
    var endDateandTime = (formattedStart+" "+formattedETime);
    Logger.log(startDateandTime);
  
    if (approvalStatus == "Approved" && eventStatus.isBlank()){
      var thisCalendar = CalendarApp.getCalendarById(calId);
      Logger.log('calId: '+calId);
      Logger.log(thisCalendar );
      var event = thisCalendar.createEvent(
        title,
        new Date(startDateandTime),
        new Date(endDateandTime),
        {guests: guests && bookerEmail, description: description});
      Logger.log('Event Series ID: ' + eventSeries.getId());
      var setEventStatus = sheet.getRange(i,12).setValue('Event Series ID: ' + event.getId());
    } else {
     Logger.log("No Events Found"); 
    }
  }
}