Item.Id.UniqueId 不是唯一的
Item.Id.UniqueId is not unique
我们有一项服务可以将我们的日历与交换日历同步。在同步过程中,我们使用唯一 ID 来识别约会。现在我们有一个客户,它有非唯一的 UniqueIds。
我使用 EwsEditor (https://github.com/dseph/EwsEditor) 检查元素,是的,两个约会(同一用户,同一月份,相同的 UniqueId,但不同的约会)具有完全相同的 UniqueId。
这两个约会都不是用我们的软件创建的。它们由用户通过 Outlook 手动创建。
交易所创建具有相同 ID 的 appointments/meetings 是否有原因?
您是说一个 Id 已被重复使用(如果是这样,那是可能的,因为它仍然是唯一的)。或者你是说你在同一个日历中有两个相同的 id 如果是这样你确定你不会混淆重复约会或者 UnqiueId 是 base64 编码的事实所以这意味着 Id 区分大小写。
也就是说,使用 UniqueId 进行日历约会并不是一个好主意,您最好使用 GOID 属性,例如 PidLidCleanGlobalObjectId https://docs.microsoft.com/en-us/office/client-developer/outlook/mapi/pidlidcleanglobalobjectid-canonical-property
我们有一项服务可以将我们的日历与交换日历同步。在同步过程中,我们使用唯一 ID 来识别约会。现在我们有一个客户,它有非唯一的 UniqueIds。
我使用 EwsEditor (https://github.com/dseph/EwsEditor) 检查元素,是的,两个约会(同一用户,同一月份,相同的 UniqueId,但不同的约会)具有完全相同的 UniqueId。
这两个约会都不是用我们的软件创建的。它们由用户通过 Outlook 手动创建。
交易所创建具有相同 ID 的 appointments/meetings 是否有原因?
您是说一个 Id 已被重复使用(如果是这样,那是可能的,因为它仍然是唯一的)。或者你是说你在同一个日历中有两个相同的 id 如果是这样你确定你不会混淆重复约会或者 UnqiueId 是 base64 编码的事实所以这意味着 Id 区分大小写。
也就是说,使用 UniqueId 进行日历约会并不是一个好主意,您最好使用 GOID 属性,例如 PidLidCleanGlobalObjectId https://docs.microsoft.com/en-us/office/client-developer/outlook/mapi/pidlidcleanglobalobjectid-canonical-property