关于Google Calendar API timeMin筛选器返回已结束重复事件的咨询
Google Calendar API timeMin筛选器返回过期重复事件的问题解析
这不是Bug,属于API处理重复事件系列的特殊机制,具体原因和解决方案如下:
- API默认返回重复事件的主事件(系列事件),而非展开后的单个实例。主事件的RRULE规则虽然限定了结束时间,但API不会以这个结束时间作为
timeMin的过滤依据——主事件本身会被视为一个独立的条目返回,哪怕它的所有实例都早于你设定的timeMin值。 - 若要让
timeMin严格按照官方文档描述的「事件结束时间排他性下限」来过滤,需要在请求中添加singleEvents=true参数。该参数会将重复事件展开为单个实例,此时API才会逐一检查每个实例的结束时间,排除所有早于timeMin的条目。
修正后的请求示例:
GET /calendar/v3/calendars/primary/events?timeMin=2025-01-10T17%3A25%3A49.000Z&singleEvents=true
验证说明:
- 未添加
singleEvents=true时,已过期的重复事件主条目仍会被返回; - 添加该参数后,仅会返回
2025-01-10T17:25:49.000Z之后存在的事件实例,过期的重复系列不会出现在结果中。
内容的提问来源于stack exchange,提问作者Alexey
相关产品推荐
相关产品推荐

