2015-12-08 7 views
12

Quando si carica proprietà degli elementi cambio multipli da ExchangeService.LoadPropertiesForItems metodo, cambio saltare alcune proprietà degli elementi allegati in risposta:scambio FindItem rispondere con diversi set di proprietà per un elemento id e per più ID elemento

<t:CalendarItem> 
    <t:ItemId Id="itemId" ChangeKey="itemChangeKey"/> 
    <t:Subject>Test appointment</t:Subject> 
    <t:Attachments> 
    <t:FileAttachment> 
     <t:AttachmentId Id="firstAttachmentId"/> 
     <t:Name>pdf.pdf</t:Name> 
     <t:Size>94150</t:Size> 
     <t:LastModifiedTime>2015-08-03T10:54:40</t:LastModifiedTime> 
     <t:IsInline>false</t:IsInline> 
     <t:IsContactPhoto>false</t:IsContactPhoto> 
    </t:FileAttachment> 
    <t:FileAttachment> 
     <t:AttachmentId Id="secondAttachmentId"/> 
     <t:Name>ATT89202</t:Name> 
     <t:Size>3803738</t:Size> 
     <t:LastModifiedTime>2015-12-03T16:40:46</t:LastModifiedTime> 
     <t:IsInline>true</t:IsInline> 
    </t:FileAttachment> 
    </t:Attachments> 
</t:CalendarItem> 

Come è possibile vedere, in risposta sopra non incluso ContentId proprietà. Ma quando uso Load metodo Item classe per le proprietà di carico di un singolo articolo, EWS Managed API genera la stessa richiesta GetItem SOAP con un'unica voce id e scambiatori di rispondere con set esteso di allegati proprietà:

<t:CalendarItem> 
    <t:ItemId Id="itemId" ChangeKey="itemChangeKey"/> 
    <t:Subject>Test appointment</t:Subject> 
    <t:Attachments> 
    <t:FileAttachment> 
     <t:AttachmentId Id="firstAttachmentId"/> 
     <t:Name>pdf.pdf</t:Name> 
     <t:ContentId>[email protected]</t:ContentId> 
     <t:Size>94150</t:Size> 
     <t:LastModifiedTime>2015-08-03T10:54:40</t:LastModifiedTime> 
     <t:IsInline>false</t:IsInline> 
     <t:IsContactPhoto>false</t:IsContactPhoto> 
    </t:FileAttachment> 
    <t:FileAttachment> 
     <t:AttachmentId Id="secondAttachmentId"/> 
     <t:Name>ATT89202</t:Name> 
     <t:ContentId>[email protected]</t:ContentId> 
     <t:Size>3803738</t:Size> 
     <t:LastModifiedTime>2015-12-03T16:40:46</t:LastModifiedTime> 
     <t:IsInline>true</t:IsInline> 
    </t:FileAttachment> 
    </t:Attachments> 
</t:CalendarItem> 

come si può vedere, nella seconda risposta ContentId proprietà presentata Inoltre, quando utilizzo il metodo ExchangeService.LoadPropertiesForItems, passando in un singolo elemento come primo argomento, Exchange include anche la proprietà Attachment.ContentId nella risposta.

Esiste un modo per ottenere le proprietà ContentId di elementi senza caricare le proprietà per tutti gli articoli separatamente?

+0

Hai provato service.LoadPropertiesForItems (articoli, PropertySet.FirstClassProperties) ;? –

+0

@ kienct89 si, ci ho provato. Lo stesso risultato: se c'è un singolo elemento in collezione, Exchange risponde con la proprietà 'ContentId' degli allegati inline. Se sono passati più oggetti, 'ContentId' non viene restituito per gli allegati di tutti gli articoli. –

risposta

2

È possibile utilizzare il metodo ExchangeService.BindToItems. Restituisce un set completo di proprietà degli allegati.

Vedi ExchangeService.BindToItems

+0

Lo stesso risultato - Proprietà ContentId non restituita –

+0

Forse potresti provare l'operazione [EWS GetAttachment] (https://msdn.microsoft.com/en-us/library/office/aa494316 (v = exchg.150) .aspx) in modo da poter inviare un elenco di tutti gli ID allegati che si desidera caricare insieme. Mi rendo conto che non è esattamente quello che vuoi, ma batte facendo più chiamate per ogni allegato che recuperi. Spero che funzioni. – cookiemonster

Problemi correlati