Microsoft Calendar Graph API:事件 ID 未在用户之间共享

idd*_*dys 5 outlook web-services outlook-calendar office365 microsoft-graph-api

我目前正在研究 Microsoft Calendar Graph API,在尝试同步事件时遇到了一些问题。

基本上我的网络服务有 2 个用户:他们都有一个 Outlook 地址。用户 A 在我的 Web 服务上创建活动,并将用户 B 添加为与会者。然后使用 REST API 将事件发送到 Outlook。它是在用户 A Outlook 日历上创建的,用户 B 在 Outlook 上收到邀请,并且该事件也在他的 Outlook 日历中创建。

现在,在我的 Web 服务上,当创建事件时,我会检索该事件的 Microsoft ID 并将其存储在我的数据库中。这样,当我想要在 Outlook 日历和我的日历之间同步事件时,我所做的就是检索所有 Outlook 事件,检查它们的 ID 并查看它们是否存储在我的数据库中:如果是,则该事件已存在于我的网站上服务,如果不是,那么我在我的网络服务中创建该事件。

我遇到的问题是,当我尝试从用户 B 获取 Outlook 事件时,该事件的 ID 与我之前存储的事件 ID 不同,因此它创建了我不需要的副本。

基本上,用户 A Outlook 日历和用户 B Outlook 日历上的事件具有不同的 ID。我不明白这有什么意义,因为它们是相同的,用户 B Outlook 日历上的邀请只是对用户 A Outlook 日历上的邀请。

我的问题是:有什么办法可以解决这个问题吗?Outlook/Office365 中的用户是否共享任何类型的 ID?多谢 !

Jas*_*ton 10

这正是该iCalUId房产的用途。它id在设计上有所不同,因为它是用户邮箱数据库的一种“主键”。跨日历应该iCalUId是相同的。

来自https://developer.microsoft.com/en-us/graph/docs/api-reference/v1.0/resources/event

iCalUId- 字符串 - 不同日历中事件的所有实例共享的唯一标识符。