正如我在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
...
}
希望有人可以帮助我。
答案 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
...
}