Calendar EWS管理API——有没有办法从日历中获取已删除的事件?

Calendar EWS管理API——有没有办法从日历中获取已删除的事件?,calendar,exchangewebservices,office365api,Calendar,Exchangewebservices,Office365api,我正在编写一个客户端来同步用户邮箱的所有项目,包括日历、联系人和我的应用程序。在这里,我想捕获所有项目的所有创建、更新和删除。尽管Office 365具有calendarview和更改跟踪功能以同步日历事件,但我仍面临以下问题: 使用calendarview,我们需要指定事件的时间范围。 Calendarview API以扩展形式提供重复事件。并且不提供从重复事件中删除的事件。您需要分析所有事件以找出已删除的事件。 由于上述限制,很难长时间同步日历事件 因此,如果有人能提出以下问题的解决方案,我

我正在编写一个客户端来同步用户邮箱的所有项目,包括日历、联系人和我的应用程序。在这里,我想捕获所有项目的所有创建、更新和删除。尽管Office 365具有calendarview和更改跟踪功能以同步日历事件,但我仍面临以下问题:

使用calendarview,我们需要指定事件的时间范围。 Calendarview API以扩展形式提供重复事件。并且不提供从重复事件中删除的事件。您需要分析所有事件以找出已删除的事件。 由于上述限制,很难长时间同步日历事件

因此,如果有人能提出以下问题的解决方案,我将不胜感激:

是否有一个EWS API可以从日历中获取已删除的项目或仅获取其ID?在这里,我只想要事件列表,而不是扩展的形式。 有没有办法从定期主事件中获取已删除的事件? 有没有更好的方法从Exchange同步日历事件?
因此,如果你的应用程序可以一直运行或大部分时间运行,那么你可以使用推送、拉送或通知,在日历上发生任何更改(包括删除)时,将事件发送到你的应用程序。流媒体是当今的首选方法。在EWS中还有一个我从未使用过的,但可能也适用于这里。我的经验是,当您收到删除的通知时,通知中的ItemId无法检索到相关项目,因为它已消失,即使它实际上已移动到已删除的项目。定期会议的已删除实例更难追踪,我不确定通知是否包含实际实例id或主id。

我最好的解决方案是:

使用SyncFolderItems将日历与任何其他文件夹同步。它以非展开形式返回所有项。 要获取周期性事件的已删除事件:请使用带有RecurringMasterId和一些附加属性(如calendar.DeletedOccurrences)的GetItem调用。
问题是,我不能一直运行我的应用程序&因此不能使用流式通知。谢谢你推荐的同步功能,我试过了,它可以用来同步日历项目。