EWS托管API 2.2读取/写入附件的扩展属性

时间:2016-03-26 19:15:01

标签: exchange-server exchangewebservices ews-managed-api

目前,我正在努力将一个大项目从MAPI CDO迁移到EWS(托管API 2.2)以支持Ex2016。所有的东西都迁移得很好,除了一个:我找不到如何读取的方式\写附件扩展属性。有人知道怎么做或可能是一些解决方法吗?这对我来说非常关键,如果有任何帮助,我将非常感激。

---更新: 还尝试使用本机EWS来获取附件属性,但也没有成功:

        var ret = esb.GetAttachment(new GetAttachmentType()
        {
            AttachmentIds = new []{new AttachmentIdType()
                {
                    Id = "AAMkADVhNjUzMzMyLTRiMDYtNDc4OS1hYjJjLWI1ZDA4ZWFhYTJkZQBGAAAAAADqFaOFYZSeQI5UObwGbjIJBwAOgaos6ORVS5+o5bQovn/kAAAAeN2cAAAOgaos6ORVS5+o5bQovn/kAAAeCoIuAAABEgAQAJPAuRg2gipPmEKfgW26mFU=", 
                }},
            AttachmentShape = new AttachmentResponseShapeType()
            {
                BodyType = BodyTypeResponseType.Best,
                BodyTypeSpecified = true,
                IncludeMimeContent = false,
                IncludeMimeContentSpecified = true,
                AdditionalProperties = new []
                {
                    new PathToExtendedFieldType() { PropertyType = MapiPropertyTypeType.Integer, PropertyTag = "0x3705"},
                    new PathToExtendedFieldType() { PropertyType = MapiPropertyTypeType.Integer, PropertyTag = "0x0E21"},
                }
            }
        });

响应不包含任何请求的属性。

---更新2:

在项目中,我们使用附件的下一个属性: PR_RECORD_KEY,PR_DISPLAY_NAME,PR_RENDERING_POSITION PR_ATTACH_ENCODING,PR_ATTACH_NUM,PR_ATTACH_METHOD,PR_ATTACH_LONG_FILENAME,PR_ATTACHMENT_HIDDEN,PR_ATTACH_CONTENT_ID,PR_ATTACH_FLAGS,PR_ATTACH_MIME_TAG,PR_ATTACH_CONTENT_LOCATION,PR_ATTACH_SIZE

我们还使用自定义属性集创建了一些自定义扩展属性,并使用该道具标记了一些附件。 一些属性可以在EWS / ManagedApi的对象模型中找到,例如PR_ATTACH_SIZE,但是其他属性和自定义道具的问题。

因此我们需要读取/写入标准附件属性以及自定义。 在项目中,我们标记附件本身,而不是嵌入项目。

1 个答案:

答案 0 :(得分:0)

您无法访问附件中的扩展属性或EWS中的收件人集合,这些属性可由API作为强类型属性访问。您可以使用扩展属性的唯一位置是消息级别。

那说你可以解释一下你如何使用扩展属性,例如嵌入项目的扩展属性。如果是这种情况,那么您可以通过项目附件访问这些扩展属性。

查看代码0x3705是附件中的PR_ATTACH_METHOD属性,在EWS中没有与此相同的内容,而是EWS将根据附件类型返回不同的附件类。例如ItemAttachment,FileAttachment或ReferanceAttachment(例如,对于OneDrive附件)。 0x0E21是附件号EWS将在GetItem请求中按照该号码的顺序返回附件,以便您自己计算。但是该属性在EWS中是无用的,因为要获得附件,您需要EWSId而不像MAPI。

干杯 格伦