Outlook 日历事件 ID 在租户中是唯一的?

问题描述

我正在将多个租户日历事件数据存储在单个数据库中。如果日历事件 ID 在租户中是唯一的,我将使用它作为主键来存储唯一事件

使用 Graph API events delta query 获取数据

提前致谢..

解决方法

我的建议是您最好使用其他键作为主键,例如时间戳,如 20210122125959333。

根据您的问题,我在 google 上搜索了帮助,根据 this document,似乎会有 2 个相同的事件 ID。但基于 this one,事件 ID 似乎是唯一的。

所以我做了一些测试。我用create event api来创建日历事件,我用同样的参数来测试它是否会出现相同的id,这是我的结论。

首先,如果我在https://graph.microsoft.com/v1.0/me/calendar/events中使用了示例参数(我的url是:this document),在多次执行api后,它总是会返回类似的响应,但事件ID是相同的(你可以在屏幕截图中看到详细信息),但是当我通过 api 查询事件时,我只能得到一个事件。

enter image description here

然后我将“transactionId”设置为“”并更改参数json中的事件主题(因为当我只是更改主题的值时,它会返回一个错误描述我不能使用相同的transactionId),之后执行多次,即使使用相同的参数,我也可以获得不同的事件 ID。

所以我的建议是你不应该使用事件 ID 作为主键,除非你的系统不关心上面提到的返回相同 ID 的操作并准备设置一个好的验证以避免出现相同的事件 ID。>