通过跟踪和错误(以及Google),我设法从Exchange Server中检索一些会议扩展属性(在我的SOAP FindItem调用中):
<typ:AdditionalProperties>
<typ:ExtendedFieldURI DistinguishedPropertySetId="Meeting" PropertyId="3" PropertyType="Binary"/>
<typ:ExtendedFieldURI DistinguishedPropertySetId="Meeting" PropertyId="35" PropertyType="Binary"/>
</typ:AdditionalProperties>
我在[MS-OXPROPS](Exchange Server协议主属性列表)中查找了值3和35:
PidLidGlobalObjectId
PidLidCleanGlobalObjectId
但是我对这两个数值并不十分满意:没有注释代码是不可理解的(如果我输入错误值会怎么样?)。
这两个的PropertyNames是什么,以便我可以指定PropertyName
而不是PropertyId
?
我尝试了这些没有成功(没有数据返回):
<typ:AdditionalProperties>
<typ:ExtendedFieldURI DistinguishedPropertySetId="Meeting" PropertyName="PidLidGlobalObjectId" PropertyType="Binary"/>
<typ:ExtendedFieldURI DistinguishedPropertySetId="Meeting" PropertyName="PidLidCleanGlobalObjectId" PropertyType="Binary"/>
</typ:AdditionalProperties>
<typ:AdditionalProperties>
<typ:ExtendedFieldURI DistinguishedPropertySetId="Meeting" PropertyName="GlobalObjectId" PropertyType="Binary"/>
<typ:ExtendedFieldURI DistinguishedPropertySetId="Meeting" PropertyName="CleanGlobalObjectId" PropertyType="Binary"/>
</typ:AdditionalProperties>
(注意:对于属性集,有Commonly used property sets的交叉引用,但我找不到这些集合中的属性名称的任何内容)
答案 0 :(得分:2)
根据https://msdn.microsoft.com/en-us/library/office/cc815528.aspx那些甚至没有命名,所以也许你真的不能使用非数字标识符:
0x0001到0x7FFF范围内的属性称为标记属性。超过0x8000是所谓的命名属性的范围,或包含32位全局唯一标识符(GUID)以及Unicode字符串或数值的属性。客户端可以使用命名属性来自定义其属性集。
为什么不在代码中使用{{1}}值? 顺便说一句,MFCMAPI是一个很好的工具,可以在没有反复试验的情况下找到这些道具。
答案 1 :(得分:0)
属性名称为PidLidGlobalObjectId和PidLidCleanGlobalObjectId :-)。这些不是众所周知的属性,例如Subject。它们只是Outlook使用的几个名称属性。