Microsoft Graph 如何恢复重复日程事件中已取消的循环实例?
Microsoft Graph 重复日程已删除实例恢复及同步方案
常见误区澄清
Microsoft Graph 原生支持iCalendar标准的重复日程例外逻辑,完全匹配你现有基于RRULE+EXDATE的存储规则,无需删除整个序列重建。
你删除重复序列单个实例的操作,本质是将对应日期添加到了序列主事件的deletedOccurrences数组中,该字段就是EXDATE在Graph中的对应实现。
已删除实例恢复方法
仅需两步即可恢复指定已删除实例:
- 调用接口拉取重复序列的主事件资源,从
deletedOccurrences数组中找到你需要恢复的目标日期条目 - 调用
PATCH接口更新序列主事件,从deletedOccurrences数组中移除该日期条目后提交全量的recurrence字段内容即可
注意:更新
recurrence字段时必须提交完整的规则配置(包含pattern、range、deletedOccurrences全量内容),仅提交部分字段会覆盖原有重复规则
与现有RRULE系统的最优适配方案
你不需要改动原有存储逻辑,直接做双向字段映射即可:
- 你系统中的RRULE规则直接映射到Graph事件的
recurrence.pattern+recurrence.range字段 - 你系统中的EXDATE数组直接和Graph事件的
deletedOccurrences数组做双向同步
如果后续需要支持修改单个实例内容而非删除的场景,可使用exceptionOccurrences字段存储自定义例外,逻辑完全兼容标准iCalendar规范。
内容的提问来源于stack exchange,提问作者Andrey Stukalin
相关产品推荐
相关产品推荐

