如何检索定期事件的自定义与已删除例外实例?
Microsoft Graph 日历重复事件实例相关问题解答
使用List event instances接口调用({{UserID}}、{{RecurrEventID}}、{{start_datetime}}、{{end_datetime}}为Postman变量):
https://graph.microsoft.com/v1.0/users/{{UserID}}/calendar/events/{{RecurrEventID}}/instances?startDateTime={{start_datetime}}&endDateTime={{end_datetime}}
可获取指定日期范围内的所有重复事件实例,针对以下两个问题的解答如下:
问题1:是否有办法仅检索自定义实例和已删除实例?这类实例在Get event接口输出中也不存在。
目前Microsoft Graph没有直接的参数或专属接口可以仅过滤出自定义实例和已删除实例。常规的List event instances接口默认返回的是当前存在的实例,已删除的重复实例不会被主动返回;同时也没有专属过滤字段能单独筛选出自定义实例。
问题2:若无法实现上述需求,如何在List event instances接口的输出中区分自定义、已删除实例与常规实例?尤其是已删除实例,通过输出计算的工作量极大。
- 区分自定义实例与常规实例:
- 自定义实例的
isModified字段值为true,常规重复实例该字段为false; - 自定义实例的
originalStart字段值会和当前实例的start字段不一致,常规实例的这两个字段值完全相同。
- 自定义实例的
- 识别已删除实例:
已删除的重复实例不会出现在List event instances的返回结果中。如果要追踪这类实例,推荐使用delta查询接口:调用/users/{{UserID}}/calendar/events/{{RecurrEventID}}/instances/delta,它会返回事件实例的所有变更记录(包括删除操作),能高效捕获已删除实例,避免手动对比预期列表和返回结果的大量计算工作。
内容的提问来源于stack exchange,提问作者Jan Doggen
相关产品推荐
相关产品推荐

