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

Outlook calendar event id's are unique across tenant?

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

正在使用 Graph API events delta query

获取数据

提前致谢..

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

根据你的问题,我用谷歌搜索了帮助,根据 this document, it seems that there will be 2 same event id. But based on ,事件 ID 似乎是唯一的。

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

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

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

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