Календарь Exchange: Является ли ConversationId хорошим идентификатором основных событий для вхождений FindItem?
Я собираю встречи в календаре Exchange с SOAPFindItem
вызов. Это возвращает отдельные события и (пользовательские) вхождения повторяющихся событий.
При обработке этих я используюGetItem
получить идентификатор главного события для каждого вхождения (ItemType
=citOccurrence
). После того, как это сделано, я могу определить, нужно ли мне сохранять главное событие для себя (и получить все его детали), или я уже сделал это.
Но при многих повторениях одного и того же повторяющегося события (особенно с бесконечными) в болееFindItem
период, это означает, что нужно сделать многоGetItem
вызовы 'get master' на сервер (с первым вызовом «вы должны сохранить мастер», а все остальные в «у вас уже есть этот мастер»).
Я посмотрел на свойства, возвращенные сBaseShape
AllProperties
и кажется, чтоConversationId
может быть свойством, которое я могу использовать для идентификации вхождений одного и того же главного события. Пример данных для тестовых событий:
<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="/>
Вопрос:ЯвляетсяConversationId
надежное свойство использовать для этого?
Заметки:
Из прочтения у меня складывается впечатление, что он в основном используется для сообщений, а не встреч.
Здесь есть похожий вопрос но это не совсем отвечает моему.
Также,Есть некоторые проблемы с получением ConversationId под Exchange 2007, ноони кажутся разрешимыми.
(Отредактировано, чтобы добавить) Быстрый тест показывает, чтоConversationID
, UID
, и дажеInstanceIndex
все кандидаты. Что является «окончательным»?