Outlook Interop 从共享日历访问已删除的项目文件夹

Outlook Interop Accessing Deleted Item Folder from Shared Calendar

考虑以下场景: 有人和我分享了一个日历。我可以完全访问此日历。当我删除日历中的项目时,Folder.BeforeItemMove 事件被触发。到目前为止,一切都很好。 我想通过检查 MoveTo 条目 ID 是 null 还是有效的 Application.Session.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderDeletedItems) 的条目 ID 来跟踪删除。 现在回到项目在共享文件夹中的情况:

有什么想法吗?

(在 Outlook 2016 中测试)

RDOStore.GetDefaultFolder(olFolderDeletedItems)RDOSession.GetSharedDefaultFolder(olFolderDeletedItems) 都在 Redemption 中工作。

如果您有权将日历作为共享日历访问(例如,通过 OWA 以电子邮件邀请的形式发送给您),已删除的项目将转到您的已删除项目文件夹。这个你可以通过 Application.Session.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderDeletedItems)

如果日历在您个人资料的第二个邮箱中,则删除的项目会转到该帐户的已删除项目文件夹,您可以通过

访问该文件夹

Outlook.Store _Store = MoveTo.Store;

Outlook.Folder _Folder = MoveTo.GetDefaultFolder (OlDefaultFolders.olFolderDeletedItems) as Outlook.Folder;

您可以通过检查 Folder.Store 是否为空(在共享非邮箱日历的情况下)来区分这两种情况