当前位置: 首页 > 编程语言 > C#

OutlookMapiAccessSharedContacts分享

时间:2023-04-10 11:43:31 C#

OutlookMapiAccessSharedContacts我想通过Mapi从Outllok导入联系人。标准联系人第一步没有问题:MAPIFoldercontactObjects=outlookObj.Session.GetDefaultFolder(OlDefaultFolders.olFolderContacts);foreach(ContactItemcontactObjectincontactObjects.Items){...importcontact...}在第二步中,我还想导入共享联系人。我发现只使用OpenSharedItem(sharedContacts.vcf)但我不知道要打开的文件(共享项)的名称。有谁知道如何访问共享联系人并且可以帮助我?Toby更新:感谢vcf-Files提供的提示。但是我在哪里可以找到它们?更新2:我玩OutlookSpy。我可以访问具有共享联系人的文件夹,但只能通过知道ID(当然其他用户不同):varflr=ns.GetFolderFromID("00000000176A90DED92CE6439C1CB89AFE3668F90100D1AD8F66B576B54FB731302D9BB9F6C40007E4BAC5020000");foreach(varcontactObjectinflr.Items){...}如何在不知道ID的情况下访问该文件夹?您需要明确解析vCard文件,或者您可以使用Redemption-它允许使用RDOContactItem.Import导入vCard文件-http://www.dimastr.com/redemption/RDOMail.htm#methods然后解决中提到的问题标题几乎很简单。您只需要调用:Recipientrecip=Application.Session.CreateRecipient("FirstnameLastname");MAPIFoldersharedContactFolder=Application.Session.GetSharedDefaultFolder(recip,OlDefaultFolders.olFolderContacts);既然这不能解决我的问题,我再问一个问题!我做了一些编程以获得outlook的联系人。我给你一些示例代码来帮助你解决这个问题。这不是你真正想要的,但我认为这会对你有所帮助...以上是C#学习教程:OutlookMapi访问共享联系人如果它对你有用并且需要了解更多有关C#的信息,请分享整个内容我希望你会更多地关注教程——使用System.Collections.Generic;//...privateListGetListOfContacts(Outlook._ApplicationOutlookApp){ListcontItemLst=null;Outlook.ItemsfolderItems=null;Outlook.MAPIFoldermapiFoldSuggestedConts=null;展望.NameSpacenameSpc=null;Outlook.MAPIFoldermapiFoldrConts=null;对象itemObj=null;尝试{contItemLst=newList();nameSpc=OutlookApp.GetNamespace("MAPI");//从Outlook中的联系人文件夹获取项目mapiFoldrConts=nameSpc.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderContacts);folderItems=mapiFoldrConts.Items;对于(inti=1;folderItems.Count>=i;i++){itemObj=folderItems[i];如果(itemObj是Outlook.ContactItem)contItemLst.Add(itemObj作为Outlook.ContactItem);否则Marshal.ReleaseComObject(itemObj);}Marshal.ReleaseComObject(folderItems);文件夹项目=空;//获取项目f从Outlook中的建议联系人文件夹mapiFoldSuggestedConts=nameSpc.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderSuggestedContacts);folderItems=mapiFoldSuggestedConts.Items;对于(inti=1;folderItems.Count>=i;i++){itemObj=[folderItems]if(itemObjisOutlook.ContactItem)contItemLst.Add(itemObjasOutlook.ContactItem);否则Marshal.ReleaseComObject(itemObj);}}catch(Exceptionex){System.Windows.Forms.MessageBox.Show(ex.Message);}finally{if(folderItems!=null)Marshal.ReleaseComObject(folderItems);如果(mapiFoldrConts!=null)Marshal.ReleaseComObject(mapiFoldrConts);如果(mapiFoldSuggestedConts!=null)Marshal.ReleaseComObject(mapiFoldSuggestedConts);if=(nameSpc!null)Marshal.ReleaseComObject(nameSpc);}返回contItemLst;}本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: