2015-12-08 11 views
12

Khi tôi tải thuộc tính của nhiều mặt hàng giá hối đoái do ExchangeService.LoadPropertiesForItems phương pháp, Exchange bỏ qua một số tính chất của các mặt hàng file đính kèm trong phản ứng:Trao đổi FindItem đáp ứng với các thiết lập khác nhau của các thuộc tính cho một mục id và cho nhiều id mục

<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> 

Như bạn có thể thấy, phản hồi ở trên không bao gồm tài sản ContentId. Nhưng khi tôi sử dụng Load phương pháp Item lớp để tải thuộc tính của mục duy nhất, EWS Managed API tạo ra các yêu cầu GetItem SOAP cùng với id đơn hàng và Exchange đáp ứng với thiết lập mở rộng của file đính kèm thuộc tính:

<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> 

Như bạn có thể xem, trong phản hồi thứ hai ContentId thuộc tính được trình bày Hơn nữa, khi tôi sử dụng phương thức ExchangeService.LoadPropertiesForItems, chuyển vào một mục làm đối số đầu tiên, Exchange cũng bao gồm thuộc tính Attachment.ContentId để phản hồi.

Có cách nào tôi có thể nhận được ContentId thuộc tính của các mục đính kèm mà không tải thuộc tính cho tất cả các mục riêng biệt không?

+0

bạn đã thử service.LoadPropertiesForItems (mặt hàng, PropertySet.FirstClassProperties) ;? –

+0

@ kienct89 vâng, tôi đã thử. Kết quả tương tự - nếu có một mục trong bộ sưu tập, Exchange sẽ trả lời thuộc tính 'ContentId' của các tệp đính kèm nội tuyến. Nếu có nhiều mục được chuyển vào, 'ContentId' không được trả lại cho các tệp đính kèm của tất cả các mục. –

Trả lời

2

Bạn có thể sử dụng phương thức ExchangeService.BindToItems. Nó trả về một tập hợp các thuộc tính đính kèm toàn diện.

Xem ExchangeService.BindToItems

+0

Cùng một kết quả - thuộc tính ContentId không được trả lại –

+0

Có thể bạn có thể thử [EWS GetAttachment operation] (https://msdn.microsoft.com/en-us/library/office/aa494316 (v = exchg.150) .aspx) để bạn có thể gửi danh sách tất cả các id đính kèm mà bạn muốn tải cùng nhau. Tôi nhận ra nó không phải là chính xác những gì bạn muốn nhưng nó nhịp đập làm cho nhiều cuộc gọi cho mỗi tập tin đính kèm bạn lấy. Hy vọng nó hoạt động. – cookiemonster

Các vấn đề liên quan