首页 > 解决方案 > Google Script createEvent() 函数突然停止工作

问题描述

最后,我能够创建将自动更新日历中的事件的功能。我对其进行了测试,它运行良好;它将在日历中添加新事件,当用户编辑它时,它将删除以前的事件并创建新事件以及新的 ID。

然而第二天,当我再次测试时,它不起作用,我检查了code.gs中的所有函数,只有这个函数有问题。

function updateCalendar(request) {
var sheet = SpreadsheetApp.getActiveSheet();
var lastRow = sheet.getLastRow(); 
var range = sheet.getRange(2,1,lastRow,13);
var values = range.getDisplayValues(); 
var calendar = CalendarApp.getCalendarById('XXXXXXXXXXXXXXXXXXX@group.calendar.google.com');
var numValues = 0;
for (var i = 0; i < values.length; i++) {    
    if (values[i][0].length > 0) {      
        if (values[i][12] == undefined) {
            var newEvent = calendar.createEvent("booked", request.date, request.endTime);
            var newEventId = newEvent.getId().split('@')[0];
            //mark as entered, enter ID
            sheet.getRange(i+2,13).setValue('y');
            sheet.getRange(i+2,12).setValue(newEventId);
        } 
        else if (values[i][12] == 'y') {
            var eventEditId = calendar.getEventSeriesById(values[i][11]);
            eventEditId.deleteEventSeries();
            var newEvent = calendar.createEvent("booked", request.date, request.endTime);
            var newEventId = newEvent.getId().split('@')[0];;
            //mark as entered, enter ID
            sheet.getRange(i+2,13).setValue('y');
            sheet.getRange(i+2,12).setValue(newEventId);
        } 
    }
    numValues++;
}
};

我还检查了日历设置和内容,并确保我已登录到管理员帐户。非常感谢任何帮助,在此先感谢。

标签: javascriptgoogle-apps-script

解决方案


我只是将 "undefined" 更改为简单的空字符串 ' ' ,它再次起作用。但同样,出于某种原因,我很好奇为什么它上次使用“未定义”命令


推荐阅读