Exchange Web服务:删除的约会在哪里进行?

时间:2016-03-23 20:08:40

标签: .net outlook exchangewebservices

如果我有CalendarFolder(通过它的folderId),如何找到关联的DeletedItems文件夹,其中会删除约会?

在Exchange中,Rooms有自己的CalendarFolder和DeletedItems文件夹。我有一个RoomId用于Room的CalendarFolder。这允许我作为用户进行身份验证并找到该会议室日历的所有约会(我有适当的权限)。

String folderId = "AAMK[snip]M==";

service = new ExchangeService(ExchangeVersion.<version>);
CalendarFolder folder = CalendarFolder.Bind(service, new FolderId(folderId));
CalendarView view = new CalendarView(new DateTime.Now, new DateTime.Now.AddDays(14));

FindItemsResults<Appointment> appointments = folder.FindAppointments(view);

我还希望返回与该房间相关联的已删除约会(如果有)。如果我有房间的电子邮件地址,我可以这样做:

String roomEmailAddress = "room@domain.com"; // I don't have this
MailBox roomMailBox = new Mailbox(roomEmailAddress);
Folder deletedItemsFolder = Folder.Bind(service, new FolderId(WellKnownFolderName.DeletedItems, roomMailbox);

ItemView view = new ItemView(10);
SearchFilter isAppointmentSearch = new SearchFilter.IsEqualTo(ItemSchema.ItemClass, "IPM.Appointment");
var deletedAppointments = deletedItemsFolder.FindItems(isAppointmentSearch, view)

但是,我的房间电子邮件地址只有该日历的文件夹ID。

鉴于CalendarFolder,要查找已删除约会的相关DeletedItems文件夹,到目前为止我已尝试过:

  1. Folder deletedItemsFolder = Folder.Bind(service, new FolderId(WellKnownFolderName.DeletedItems)但是我得到了用户的DeleteItems文件夹而不是会议室
  2. 在CalendarFolder的ParentFolder中搜索DeletedItems同级文件夹,但只获取用户的已删除项目文件夹
  3. 试图从CalendarFolder获取电子邮件地址,但它似乎没有

1 个答案:

答案 0 :(得分:0)

好的,加入并积极参与这个平台,我会抓住这个问题。

关于如何连接房间日历,您可能希望在Accessing a Resource Calendar with no mailbox via EWS and C#上查看评论

关于“已删除邮件”的存储位置,取决于Outlook中的设置。有关更多信息,请参阅https://support.microsoft.com/en-gb/help/202517/items-that-are-deleted-from-a-shared-mailbox-go-to-the-wrong-folder-in-outlook

以迂回的方式提供答案。

迟到总比没有好!