我正在开发一个内部应用程序。这将用于在本地备份和同步我们的 Office 365 日历和事件数据。要按照 Graph API 文档实现差异同步,Delta Query 是最好的选择。在为“/CalendarView”实现此增量查询时,两个参数是必需的(startDateTime、endDateTime)。这两个参数实际上设置了事件的范围以跟踪任何更改。我检查了这个最大范围,发现范围可以是 100 年。我们的应用程序确实有比这更长的范围,因为我们维护了历史日历。
我已经考虑过以下解决方案:
Sol #1: /events 使用 lastModifiedDateTime gt 'last backup' 时间进行 $filter 查询。
此解决方案不返回已删除的事件数据
溶胶 #2:/calendarView/delta?startDateTime = ''&endDateTime =''
该解决方案的有限范围为 100 年。
试过
https://graph.microsoft.com/v1.0/users/ {{user_id}}/events?$filter=lastModifiedDateTime gt '2019-06-26T02:56:41.828Z'
试过
https://graph.microsoft.com/v1.0/users/ {{user_id}}/calendar/calendarView/delta?startDateTime=1989-06-20T02:56:41.828Z&endDateTime=2088-06-26T02:56: 41.828Z
找出一种解决方案来实现没有这样的范围的差分同步或针对上述问题采用不同的方法。