本文介绍了Exchange日历:ConversationId是FindItem实例的主事件的良好标识符吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述 我在SOAP FindItem 调用的Exchange日历中收集约会。这会返回单个事件和(自定义)重复事件的发生。 当处理这些事件时,我使用 GetItem 每个事件的主事件的ID( ItemType = citOccurrence )。完成后,我可以确定是否仍然需要在内部存储主事件(并检索其所有详细信息),或者是否已经这样做。 但是在更长的 FindItem 期间,许多发生相同的重复事件(特别是无止境的事件),这意味着必须做很多 GetItem 'get master'调用到服务器(第一个结果是'你必须存储主人',所有其他人都在你已经有这个主人)。 我看过 BaseShape AllProperties 返回的属性,看起来 ConversationId 可以是一个属性,我可以用它来标识同一主事件的发生。测试事件的示例数据: < t:ItemId Id =AAMk [snip] AAEA ==ChangeKey =DwAAABYAAABs2 / j8u1jEQJde5BzoAC + PAAC5aMZ //> < t:Subject>发生次数< / t:Subject> < t:ConversationId Id =AAQkADgyMTc3ZTI4LTU1ZmItNGI5Yy04YzVjLTk2MjFiZjY5ODkyYgAQANxmlGQ / 3ahArhg + mv + UJSo =/> < t:ItemId Id =AAMk [snip] AAEA ==ChangeKey =DwAAABYAAABs2 / j8u1jEQJde5BzoAC + PAAC5aMZ //> < t:Subject>修改的发生< / t:Subject> < t:ConversationId Id =AAQkADgyMTc3ZTI4LTU1ZmItNGI5Yy04YzVjLTk2MjFiZjY5ODkyYgAQANxmlGQ / 3ahArhg + mv + UJSo =/> < t:ItemId Id =AAMk [snip] RrAAA =ChangeKey =DwAAABYAAABs2 / j8u1jEQJde5BzoAC + PAAC5aMaA/> < t:Subject>新的单一事件< / t:Subject> < t:ConversationId Id =AAQkADgyMTc3ZTI4LTU1ZmItNGI5Yy04YzVjLTk2MjFiZjY5ODkyYgAQAMRNQtffkIdFvs73IVVObM =/> < t:ItemId Id =AAMk [snip] AAEA ==ChangeKey =DwAAABYAAABs2 / j8u1jEQJde5BzoAC + PAAC5aMZ //> < t:Subject>发生次数< / t:Subject> < t:ConversationId Id =AAQkADgyMTc3ZTI4LTU1ZmItNGI5Yy04YzVjLTk2MjFiZjY5ODkyYgAQANxmlGQ / 3ahArhg + mv + UJSo =/> < t:ItemId Id =AAMk [snip] RtAAA =ChangeKey =DwAAABYAAABs2 / j8u1jEQJde5BzoAC + PAAC5aMaG/> < t:Subject>会议< / t:Subject> < t:ConversationId Id =AAQkADgyMTc3ZTI4LTU1ZmItNGI5Yy04YzVjLTk2MjFiZjY5ODkyYgAQAOZVB7gVSTJCtmZMMcXVBfQ =/> 问题:是 ConversationId 注意: 这里有一个类似的问题 此外,,但它们似乎可以解决。 (已编辑添加) 快速测试显示 ConversationID , UID ,甚至 InstanceIndex 都是候选人。 解决方案尝试iCalUID这是财产,但我可以离开一点)。如果您有多房间会议,UID将在两个房间的约会相同。我没有在一段时间检查,但我相信它也将一样的同一主人的实例。 I collect the appointments in an Exchange calendar with a SOAP FindItem call. This returns single events and (custom) occurrences of recurring events.When processing these I use GetItem to retrieve the ID of the master event for each occurrence (ItemType=citOccurrence). After that is done, I can determine if I still need to store the master event internally (and retrieve all its details), or if I have already done so.But with many occurrence of the same recurring event (especially with unending ones) in a longer FindItem period, this means having to do a lot of GetItem 'get master' calls to the server (with the 1st one resulting in 'you must store the master' and all the others in 'you already have this master').I have looked at the properties returned with BaseShape AllProperties and it seems that ConversationId could be a property that I can use to identify occurrences of the same master event. Sample data for test events:<t:ItemId Id="AAMk[snip]AAEA==" ChangeKey="DwAAABYAAABs2/j8u1jEQJde5BzoAC+PAAC5aMZ/"/><t:Subject>Occurrence</t:Subject><t:ConversationId Id="AAQkADgyMTc3ZTI4LTU1ZmItNGI5Yy04YzVjLTk2MjFiZjY5ODkyYgAQANxmlGQ/3ahArhg+mv+UJSo="/><t:ItemId Id="AAMk[snip]AAEA==" ChangeKey="DwAAABYAAABs2/j8u1jEQJde5BzoAC+PAAC5aMZ/"/><t:Subject>Modified occurrence</t:Subject><t:ConversationId Id="AAQkADgyMTc3ZTI4LTU1ZmItNGI5Yy04YzVjLTk2MjFiZjY5ODkyYgAQANxmlGQ/3ahArhg+mv+UJSo="/><t:ItemId Id="AAMk[snip]RrAAA=" ChangeKey="DwAAABYAAABs2/j8u1jEQJde5BzoAC+PAAC5aMaA"/><t:Subject>New single event</t:Subject><t:ConversationId Id="AAQkADgyMTc3ZTI4LTU1ZmItNGI5Yy04YzVjLTk2MjFiZjY5ODkyYgAQAMRNQtffkIdFvs73IVVJObM="/><t:ItemId Id="AAMk[snip]AAEA==" ChangeKey="DwAAABYAAABs2/j8u1jEQJde5BzoAC+PAAC5aMZ/"/><t:Subject>Occurrence</t:Subject><t:ConversationId Id="AAQkADgyMTc3ZTI4LTU1ZmItNGI5Yy04YzVjLTk2MjFiZjY5ODkyYgAQANxmlGQ/3ahArhg+mv+UJSo="/><t:ItemId Id="AAMk[snip]RtAAA=" ChangeKey="DwAAABYAAABs2/j8u1jEQJde5BzoAC+PAAC5aMaG"/><t:Subject>Meeting</t:Subject><t:ConversationId Id="AAQkADgyMTc3ZTI4LTU1ZmItNGI5Yy04YzVjLTk2MjFiZjY5ODkyYgAQAOZVB7gVSTJCtmZMMcXVBfQ="/>Question: Is ConversationId a reliable property to use for this?Notes:From reading around I get the impression that is primarily used for messages, not appointments.There is a similar question here but that does not definitively answer mine.Also, there are some issues retrieving ConversationId under Exchange 2007, but they seem solvable.(Edited to add) A quick test shows that ConversationID, UID, and even InstanceIndex are all candidates. Which is the 'definitive' one? 解决方案 Try iCalUID (I think that is the property, but I could be off a little). If you have a multi-room meeting, the UID will be the same for appointments in both rooms. I've not checked in some time, but I believe it will also be the same for instances of the same master. 这篇关于Exchange日历:ConversationId是FindItem实例的主事件的良好标识符吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持! 10-11 07:45