获取日历的约会点所有者的电子邮件地址

时间:2019-08-23 18:24:21

标签: c# outlook vsto outlook-addin

我正在开发一个Outlook加载项,以将所有约会发送到Web应用程序,但是在始终获取AppointmentItem的“所有者”(不是组织者)方面遇到一些麻烦。

例如,X向Y和Z发送约会。 加载项将从其中删除三个约会项,我正在尝试获取X,Y和Z的电子邮件地址。

我试图查看SendUsingAccount(有时设置为null)或Parent属性,但是我似乎找不到我想要的东西。

感谢您的帮助!

1 个答案:

答案 0 :(得分:2)

如果这是默认帐户,并且假设在Outlook中仅配置了一个主Exchange帐户,则只需使用Application.Session.CurrentUser

更新
如果您要通过非默认的Exchange帐户访问约会,则可以检索父项Store-您可以通过AppointmentItem.Parent(将是MAPIFolder)进行访问,然后使用{{ 1}}或MAPIFolder.Store属性。然后,您可以使用StoreID将商店与Account集合中的Namespace.Accounts对象进行匹配。使用Account.DeliveryStore比较两个商店条目ID,请勿直接比较字符串。
一旦可以使用Account对象,就可以使用Account.CurrentUser属性。

如果可以选择使用Redemption(我是作者),它将公开RDOExchangeMailboxStoreNamespace.CompareEntryIDs属性,这样您就不必遍历帐户:只需创建{ {3}}对象,在Outlook中将其Owner属性设置为MAPIOBJECT,使用Application.Session.MAPIOBJECTRDOSession.GetMessageFromID重新打开约会约会,然后使用RDOSession。{{ 1}}。