【发布时间】:2016-03-28 17:06:15
【问题描述】:
目前,我正在将一个大型项目从 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,但其他属性和自定义道具存在问题。
所以我们需要读取/写入标准附件属性以及自定义。 在项目中我们标记附件本身,而不是嵌入的项目。
【问题讨论】:
标签: exchange-server exchangewebservices ews-managed-api