如何通过Google Calendar REST API仅获取重复事件
如何仅拉取Google Calendar中的重复事件?
Google Calendar API的events.list接口可以通过参数配合结果筛选实现仅拉取重复事件,以下是两种常用方案:
方案1:获取重复事件的主条目(定义重复规则的原始事件)
默认调用接口时singleEvents参数为false,API会返回重复事件的主条目而非单个发生实例。你只需在返回结果中筛选带有recurrence字段的事件——这个字段存储了事件的重复规则(如每周一重复),带有该字段的事件即为重复事件的主条目。
示例请求:
GET https://www.googleapis.com/calendar/v3/calendars/primary/events
筛选逻辑:遍历返回的items数组,保留包含recurrence属性的条目。
方案2:获取所有重复事件的具体发生实例
如果需要拉取重复事件的每一次具体发生(包括被修改过的实例),可以设置singleEvents=true,此时API会展开所有重复事件的实例。之后筛选带有recurringEventId字段的条目——该字段指向对应的重复事件主条目ID,说明当前条目是重复事件的一个实例。
示例请求:
GET https://www.googleapis.com/calendars/primary/events?singleEvents=true
筛选逻辑:遍历返回的items数组,保留包含recurringEventId属性的条目。
额外优化
可以结合timeMin和timeMax参数限定时间范围,减少返回数据量,比如:
GET https://www.googleapis.com/calendar/v3/calendars/primary/events?singleEvents=true&timeMin=2024-01-01T00:00:00Z&timeMax=2024-12-31T23:59:59Z
内容的提问来源于stack exchange,提问作者user3828370
相关产品推荐
相关产品推荐

