Exchange FindItem使用一组商品ID和多个商品ID的不同属性集进行响应

时间:2015-12-08 11:04:19

标签: c# .net exchangewebservices ews-managed-api

当我按ExchangeService.LoadPropertiesForItems方法加载多个交换项的属性时,Exchange会跳过项目附件的一些属性作为响应:

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

正如您所看到的,上面的回复中没有包含ContentId属性。 但是当我使用Load类的Item方法来加载单个项的属性时,EWS Managed API会生成相同的GetItem SOAP请求,其中包含单个项ID,而Exchange响应扩展的附件属性集:

<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>25F20E449DEC42B67EB3DE58C51E56E3BE0B27F5@1</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>DB969CA378C5F9565E98779626E3BCA3A65FB275@1</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>

如您所见,在第二个回复ContentId属性中 此外,当我使用ExchangeService.LoadPropertiesForItems方法,将单个项目作为第一个参数传递时,Exchange还会将Attachment.ContentId属性包含在响应中。

我是否有办法获得商品附件的ContentId属性,而无需单独为所有商品加载属性?

1 个答案:

答案 0 :(得分:2)

您可以使用ExchangeService.BindToItems方法。它返回一组全面的附件属性。

请参阅 ExchangeService.BindToItems

相关问题