我正在使用Exchange Web服务访问公用文件夹中的联系人记录。我需要为该文件夹中的视图创建一个自定义列“Client Contact Management”。自定义列是在用户界面中创建的。
我之前已经在我通过代码创建的属性上使用了ExtendedPropertyDefinition
类。这是我应该在这种情况下使用的,如果是,那么我如何获得自定义列的guid?
答案 0 :(得分:0)
我终于在微软Exchange服务器论坛上找到了来自David Sterling的这个thread的答案。他的示例(下面复制)显示了如何直接使用EWS并使用托管API执行操作。
// via autogenerated proxy classes
PathToExtendedFieldType hairColorPath = new PathToExtendedFieldType();
hairColorPath.DistinguishedPropertySetId = DistinguishedPropertySetType.PublicStrings;
hairColorPath.DistinguishedPropertySetIdSpecified = true;
hairColorPath.PropertyName = "HairColor";
hairColorPath.PropertyType = MapiPropertyTypeType.String;
// via the Client API
ExtendedPropertyDefinition hairColor = new ExtendedPropertyDefinition(
DefaultExtendedPropertySet.PublicStrings,
"HairColor",
MapiPropertyType.String);
以下是我为自己的问题使用托管api所做的事情。关键是使用DefaultExtendedPropertySet.PublicStrings
,即outlook存储自定义视图列。
ExtendedPropertyDefinition _clientContactManagementPropertyDefinition =
new ExtendedPropertyDefinition(
DefaultExtendedPropertySet.PublicStrings,
"Client Contact Management",
MapiPropertyType.Boolean
);