Outlook Mapi访问共享联系人

Tob*_*ias 8 c# mapi outlook shared

我想通过Mapi从Outllok导入联系人.标准联系的第一步没有问题:

MAPIFolder contactObjects = 
outlookObj.Session.GetDefaultFolder(OlDefaultFolders.olFolderContacts);
foreach (ContactItem contactObject in contactObjects.Items) {
    ... import contact ...
}
Run Code Online (Sandbox Code Playgroud)

在第二步中,我还想要导入共享联系人.我发现只有使用

OpenSharedItem(sharedContacts.vcf)
Run Code Online (Sandbox Code Playgroud)

但我不知道我想打开的文件(共享项)的名称.有人知道如何访问共享联系人并可以帮助我吗?

托比


更新:

感谢vcf-Files的提示.但是我在哪里可以找到它们?


UPDATE2:

我玩了OutlookSpy.我可以访问具有共享联系人的文件夹,但只能通过知道id(对于其他用户当然不同):

var ns = outlookObj.GetNamespace("MAPI");
var flr = ns.GetFolderFromID("00000000176A90DED92CE6439C1CB89AFE3668F90100D1AD8F66B576B54FB731302D9BB9F6C40007E4BAC5020000");

foreach (var contactObject in flr.Items) {
       ...
}
Run Code Online (Sandbox Code Playgroud)

如何在不知道ID的情况下访问该文件夹?

Tob*_*ias 1

标题中提出的问题的解决方案几乎很简单。您只需要拨打:

Recipient recip = Application.Session.CreateRecipient("Firstname Lastname");
MAPIFolder sharedContactFolder = Application.Session.GetSharedDefaultFolder(recip, OlDefaultFolders.olFolderContacts);
Run Code Online (Sandbox Code Playgroud)

因为这不能解决我的问题,我会问另一个问题