Google AppScript持续报错:Event start time must be before event end time 求助
解决Google AppScript获取日历事件时的“Event start time must be before event end time”错误
问题原因
你的代码触发错误的核心原因是:目标日历中存在开始时间晚于结束时间的异常事件,getEvents方法在读取这类事件时会抛出该错误。另外你代码里的结束日期写错成了2024年4月30日,和你要获取2023年4月数据的需求不符。
解决方案
修正日期范围
将代码中的结束日期改为2023年4月30日,确保时间范围符合需求:var events = cal.getEvents(new Date("4/1/2023 12:00 AM"), new Date("4/30/2023 11:59 PM"));排查并修复日历中的异常事件
登录Google Calendar网页版,筛选2023年4月的所有事件,检查是否存在开始时间晚于结束时间的事件(比如误操作设置的反向时间、全天事件配置错误等),修正这类事件的时间参数。添加异常捕获机制(可选但推荐)
修改代码加入try-catch块,避免单个异常事件导致整个脚本崩溃,同时定位异常事件:function getEvent() { var cal = CalendarApp.getCalendarById("********@gmail.com"); var events = cal.getEvents(new Date("4/1/2023 12:00 AM"), new Date("4/30/2023 11:59 PM")); for(var i = 0; i < events.length; i++){ try { var title = events[i].getTitle(); console.log(title); } catch(e) { console.log("处理第" + (i+1) + "个事件出错:" + e.message); console.log("异常事件ID:" + events[i].getId()); } } }通过异常事件ID,你可以直接在Google Calendar中搜索定位到问题事件,快速修正。
内容的提问来源于stack exchange,提问作者Cool_Coder
相关产品推荐
相关产品推荐

