如何在Outlook日历中的重复事件系列中显示一个或多个事件的编辑?

问题描述

我正在更新自定义ASP.NET Web应用程序中的现有Outlook日历查看功能,该功能可以很好地工作并显示除重复事件之外的所有事件。由于我是Outlook Calendar API的新手,因此我正在积极学习如何在当前系统中实现和集成重复发生。我知道,如果事件重复发生,它将有一个Recurrence对象;如果它不为null,它将保存Recurrence PatternRecurrence Range,这将帮助我构建要显示在日历中的事件。

因此,举例来说,我有一个名为 FooEvent 的事件,该事件每天从下午2点到下午3点之间每天重复。从2020年8月19日到2021年8月18日,如下所示。

FooEvent

通过 Outlook Calendar API ,在同步时,我只收到 FooEvent 一个 Microsoft.Graph.OutlookItem 事件对象以及属性重复发生。现在,我不是在根据此 Recurrence 规则( Recurrence.RecurrencePattern Recurrence.Range )在数据库中创建每个事件,而是在保存它们在sql Server数据库中具有以下格式,以便在显示时可以在给定的时间段(即2020年8月1日至2020年8月31日)构建事件。

RecurringEventDatabaseSchema

到目前为止,直到...

Outlook日历为用户提供了这三个选项来更新重复发生的事件。

  • 此事件
  • 此事件以及所有后续事件
  • 系列中的所有事件

enter image description here

如果我使用前两个选项中的任何一个来编辑重复发生的事件以更新时间。当我的数据库中只有重复逻辑时,如何跟踪当前数据库中的特定更改事件?这导致需要另一个具有规则例外something mentioned in this answer的表。

最后一条信息,我也正在发出增量请求,该请求将通知我是否删除了整个事件,因此可以删除数据库中的事件(工作正常)。另外,我相信此增量请求还可以为我提供与事件更改有关的数据,但不知道如何实现。

我确定这肯定是一个已知问题,但是我无法在线找到合法的解决方案。

此外,这里有些问题看起来很相似,但并不相似。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)