You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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月数据的需求不符。

解决方案

  1. 修正日期范围
    将代码中的结束日期改为2023年4月30日,确保时间范围符合需求:

    var events = cal.getEvents(new Date("4/1/2023 12:00 AM"), new Date("4/30/2023 11:59 PM"));
    
  2. 排查并修复日历中的异常事件
    登录Google Calendar网页版,筛选2023年4月的所有事件,检查是否存在开始时间晚于结束时间的事件(比如误操作设置的反向时间、全天事件配置错误等),修正这类事件的时间参数。

  3. 添加异常捕获机制(可选但推荐)
    修改代码加入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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 19:12:26