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

更新Google Calendar重复事件UNTIL日期后实例全被取消问题求助

Google日历API更新重复事件UNTIL参数异常问题

我尝试通过Google日历API取消指定日期之后的所有重复事件,在更新recurrence属性设置新的UNTIL日期时出现异常:除一个实例外,所有重复事件(无论早于还是晚于新UNTIL日期)均被移除。

事件创建方式

通过events.insert()创建重复事件,请求负载如下:

{
    calendarId: MY_CALENDAR_ID
    sendUpdates: 'none',
    resource: {
        start: {
            dateTime: <Some dateTime value>
            timeZone: MY_TIMEZONE
        },
        end: {
            dateTime: <Some dateTime value>
            timeZone: MY_TIMEZONE
        },
        recurrence: ['RRULE:FREQ=WEEKLY'],

        // 其他非关键参数
        summary: "..."
        attendees: [{ email: email@email.com, responseStatus: 'accepted'}, ...]
        guestsCanInviteOthers: false,
        guestsCanModify: false,
        visibility: 'default',
    }
}

取消未来重复实例的操作步骤

  1. 调用events.get()获取事件详情,请求负载:
{
    eventId: MY_EVENT_ID
    calendarId: MY_CALENDAR_ID
}

其中MY_EVENT_ID是重复事件的某一个实例ID。

  1. 调用events.update()更新主事件,请求负载:
{ 
   calendarId: MY_CALENDAR_ID,
   eventId: retrievedEvent.data.recurringEventId,
   requestBody: { 
       ...retrievedEvent.data, 
       recurrence: ['RRULE:FREQ=WEEKLY;UNTIL=20250619T014535Z']
   }
}

预期与实际行为

  • 预期行为:仅新UNTIL日期之后的重复实例被取消,之前的实例保留。
  • 实际行为:所有重复实例均被取消,原本获取的retrievedEvent被转换为非重复常规事件。

通过调用events.list()并设置showDeleted: true验证:所有重复实例(无论早于还是晚于新UNTIL日期)仍存在,但状态变为"status": "cancelled";仅retrievedEvent状态为"confirmed",且不再包含recurringEventId,说明已变为普通非重复事件。


内容的提问来源于stack exchange,提问作者Jeloz

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 20:42:44