microsoft-graph-api - 如何通过Microsoft Outlook Calendar Graph API查找重复异常

标签 microsoft-graph-api outlook-restapi

我目前正在使用Microsoft Graph API将日历事件同步到本地应用程序。最后,我不在乎保存序列中的每个事件,而是宁愿只保存序列主数据,然后自己推断出序列的实例。因此,我使用的是/me/events调用,而不是/me/calendarView调用。

我的问题是编辑系列中的单个事件时。编辑单个事件后,我进行了/me/events调用,并且可以看到新添加的“Exception”类型-很棒。但是,我看不到如何将新事件与发生更改以引起异常的事件联系起来。

例如,如果我每周一在中午召开一次 session ,并且将今天的 session 时间从中午更改为2:00,则很容易看出今天的 session 已更改。但是,如果我将今天的 session 更改为星期五,我怎么能说是今天的 session 发生了变化,而不是下周的发生了变化?请记住,我仅存储主文件,而不是存储每一个CalendarView事件。

另一个例子是,如果我删除一个事件。在这种情况下,/me/calendarView调用将不再返回该事件。没有生成异常类型。从/me/events调用返回的系列母版根本不会更改,以指示缺少日期。

我习惯的格式类似于iCal/vCal格式,其中包含开始日期,结束日期和异常(exception)日期列表。使用这种格式,我可以轻松地从系列主管那里得知要跳过的日期,而无需“呈现”整个事件并跳过异常。并且,如果删除了事件,则将其添加到EXDATE列表中,然后再在渲染时不考虑它。 Microsoft Graph API没有简单的方法来查看这些已更改/删除的事件吗?

最佳答案

我遇到了类似的问题,但是我想我现在已经意识到,Microsoft不允许重复发生的事件晚于下一个实例或早于前一个实例移动(至少在浏览器中使用Outlook日历时)。因此,您始终可以假设第3个事件是系列中的第3个事件,第4个事件是第4个,依此类推。

因此,只要您知道序列号,就可以通过使用/me/events/[event_id]/instances?startDateTime = [start_date_time]&endDateTime = [end_date_time]获取所有实例来找到它。

当我执行此操作时,Outlook日历中的错误不是很清楚,因此可能还有其他问题,但是我可以移动异常事件。不幸的是,由于事件可以在以后无限期地移动,因此我不确定是否有确定方法来知道使用哪种end_date_time。

关于microsoft-graph-api - 如何通过Microsoft Outlook Calendar Graph API查找重复异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51484550/

相关文章:

azure - 如何在 Azure AD 中为 MS graph api 生成 grant_type 密码的 access_token

microsoft-graph-api - 错误请求 : Invalid filter clause

azure - 微软图: how to get Data from users of an organisation through web app?

microsoft-graph-api - Microsoft Graph - 找不到邮箱

sharepoint - 如何在 Microsoft Graph API 中使用过滤器来获取 SharePoint 项目?

c# - 图返回 "Code: ResourceNotFound Message: Invalid version: me Inner error"

asp.net - invalid_scope 错误 AADSTS70011,为什么我收到此错误

reactjs - 无法加载 https ://login. microsoftonline.com/common/oauth2/v2.0/token

ios - Office365获取消息并过滤来自谁

office365 - Outlook 365 API - 创建日历事件时禁用自动发送电子邮件