对于每个循环会议实例,ICalRecurrenceId的值是否会改变?

本文关键字:是否 改变 ICalRecurrenceId 循环 于每个 会议 实例 | 更新日期: 2023-09-27 18:01:17

我想将一些用户的所有会议导入到数据库中。我正在使用EWS管理API和c#

当我从每个邮箱导入会议时,如果每个用户都被邀请参加会议,我可能会多次遇到相同的会议。

对于单实例会议,我可以使用ICalUid的值来获得会议的唯一ID,因此我将只能存储它的一个实例。

然而,对于循环会议,我不清楚应该使用什么附加字段(以及ICalUid)来标识循环会议系列的每个实例。

我可以可靠地使用ICalRecurrenceId吗?这个值会改变吗?从多个邮箱导入会议实例时是否一致?是否有一个更好的领域,我可以/应该使用来满足我的需求?

注意-我已经看过使用ItemId字段,但是当从不同的邮箱返回相同的会议时,它返回不同的值。我需要能够识别会议实例,而不管它是从哪个邮箱导入的。

对于每个循环会议实例,ICalRecurrenceId的值是否会改变?

这个问题已经存在很多年了,但我希望这个答案能给需要的人一些信息。

  • ICalUid:会议UID,不会跨日历更改。
  • ICalRecurrenceId:为每次复发会议发生的原始开始时间。
  • 所有重复出现的会议将具有相同的ICalUid,但ICalRecurrenceId将不同。
  • 当一个事件的开始时间被修改时,ICalUidICalRecurrenceId不会被改变。
  • 在重复会议的开始时间修改时,ICalUid将保留,但ICalRecurrenceId将为所有出现更改

所以要解决你的问题,这两个值的组合就足够了。

我没有尝试使用ICalRecurrenceId,但有可能ICalUID + Start (DateTime)应该允许正确识别。