如何查询与当前Outlook用户共享联系人/日历的用户/收件人?

时间:2012-11-23 09:39:31

标签: c# outlook shared mapi

正如我在former Question中提到的,通过MAPI在Outlook中获取共享联系人没有问题。但是,如果您知道用户/收件人与当前Outlook用户共享联系人(或日历),则这是可能的。

现在回到我的问题:如何获得与我分享联系人的收件人列表?

使用列表我会创建一个foreach创建收件人,然后访问共享文件夹。

// Get recipients    
IList<string> recipientsSharingContacts =  **???** ;

// Import/Read shared contacts 
foreach (string recip in recipientsSharingContacts){

    // Open Shared Folder
    MAPIFolder sharedContactsFolder = 
      Application.Session.GetSharedDefaultFolder(recip, OlDefaultFolders.olFolderContacts)

    // Import Contacts 
    ...

}

希望有人可以帮助我。

1 个答案:

答案 0 :(得分:2)

如果有人对解决方案感兴趣,我就是这样做的:

ContactsModule module = (ContactsModule)outlookObj.ActiveExplorer().NavigationPane.Modules.GetNavigationModule(OlNavigationModuleType.olModuleContacts);
foreach (NavigationGroup navigationGroup in module.NavigationGroups) {
     foreach (NavigationFolder navigationFolder in navigationGroup.NavigationFolders) {
          foreach (var item in navigationFolder.Folder.Items) {
                     // Found Folders are: Contacts, Suggested Contacts and Shared Contact Folders


                     // Import/Read ContactItems
                     ...
                }