如何从 Outlook 加载项中的 Exchange 邮箱读取自定义属性

How to read Custom Attributes from Exchange mailbox in Outlook Add-in

用户使用 Outlook 2013 并在 Office365 中拥有帐户。我想在 Outlook 中创建类似 window 的地址簿。所以我创建了新的 Outlook 2013 加载项来显示用户列表。代码如下所示:

var list = Globals.ThisAddIn.Application.Session.GetGlobalAddressList();
var users = list.AddressEntries.Cast<AddressEntry>()
                .Where(ae => ae.AddressEntryUserType == OlAddressEntryUserType.olExchangeUserAddressEntry).ToList());

并且有效。但作为交换,邮箱具有自定义属性并且设置了一些主题。我想在我的列表中显示这些属性,但我不知道如何检索它们。

在 Powershell 中你可以这样做:

Get-Mailbox -Identity alexB | FL

您可以看到此对象具有 "CustomAttribute1"、"CustomAttribute2" 等属性...如何在 outlook 加载项中执行相同操作。

Outlook 对象模型不提供任何 属性 或属性方法。您可以尝试使用任何低级 属性 资源管理器,例如 MFCMAPI 或 Outlook Spy 来观察隐藏属性。

经过多次 OutlookSpy 崩溃后,我发现了这个 :) 要获得自定义属性编号 6,您必须调用:

var prope = user.PropertyAccessor.GetProperty("http://schemas.microsoft.com/mapi/proptag/0x8032001E");

属性:

  • #7 = 0x8033001E
  • #8 = 0x8034001E
  • ...