Calendario de Exchange: ¿ConversationId es un buen identificador de eventos maestros para las ocurrencias FindItem?
Recojo las citas en un calendario de Exchange con un SOAPFindItem
llamada. Esto devuelve eventos únicos y ocurrencias (personalizadas) de eventos recurrentes.
Al procesar estos, usoGetItem
para recuperar la ID del evento maestro para cada aparición (ItemType
=citOccurrence
) Una vez hecho esto, puedo determinar si aún necesito almacenar el evento maestro internamente (y recuperar todos sus detalles), o si ya lo he hecho.
Pero con muchas ocurrencias del mismo evento recurrente (especialmente con eventos interminables) en un período más largoFindItem
período, esto significa tener que hacer muchoGetItem
'obtener master' llamadas al servidor (con la primera que resulta en 'debe almacenar el master' y todas las demás en 'ya tiene este master').
He mirado las propiedades devueltas conBaseShape
AllProperties
y parece queConversationId
podría ser una propiedad que puedo usar para identificar las ocurrencias del mismo evento maestro. Datos de muestra para eventos de prueba:
<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="/>
Pregunta:EsConversationId
una propiedad confiable para usar para esto?
Notas:
Al leer, me da la impresión de que se usa principalmente para mensajes, no para citas.
Hay una pregunta similar aquí pero eso definitivamente no contesta el mío.
También,Hay algunos problemas al recuperar ConversationId en Exchange 2007, peroparecen solucionables.
(Editado para agregar) Una prueba rápida muestra queConversationID
, UID
e inclusoInstanceIndex
Son todos los candidatos. ¿Cuál es el 'definitivo'?