对于每个循环会议实例,ICalRecurrenceId的值是否会改变?
本文关键字:是否 改变 ICalRecurrenceId 循环 于每个 会议 实例 | 更新日期: 2023-09-27 18:01:17
我想将一些用户的所有会议导入到数据库中。我正在使用EWS管理API和c#
当我从每个邮箱导入会议时,如果每个用户都被邀请参加会议,我可能会多次遇到相同的会议。
对于单实例会议,我可以使用ICalUid
的值来获得会议的唯一ID,因此我将只能存储它的一个实例。
然而,对于循环会议,我不清楚应该使用什么附加字段(以及ICalUid
)来标识循环会议系列的每个实例。
我可以可靠地使用ICalRecurrenceId
吗?这个值会改变吗?从多个邮箱导入会议实例时是否一致?是否有一个更好的领域,我可以/应该使用来满足我的需求?
注意-我已经看过使用ItemId
字段,但是当从不同的邮箱返回相同的会议时,它返回不同的值。我需要能够识别会议实例,而不管它是从哪个邮箱导入的。
这个问题已经存在很多年了,但我希望这个答案能给需要的人一些信息。
-
ICalUid
:会议UID,不会跨日历更改。 -
ICalRecurrenceId
:为每次复发会议发生的原始开始时间。 - 所有重复出现的会议将具有相同的
ICalUid
,但ICalRecurrenceId
将不同。 - 当一个事件的开始时间被修改时,
ICalUid
和ICalRecurrenceId
不会被改变。 - 在重复会议的开始时间修改时,
ICalUid
将保留,但ICalRecurrenceId
将为所有出现更改
所以要解决你的问题,这两个值的组合就足够了。
我没有尝试使用ICalRecurrenceId,但有可能ICalUID + Start (DateTime)应该允许正确识别。