c# - 如何获取已删除的 Exchange 项目?

标签 c# outlook exchange-server exchangewebservices exchange-server-2010

我正在使用带有流式连接的 Exchange Web 服务 API 来获取对我的日历所做的更改。

如果我转到我的日历并删除一个事件,新的通知事件方法就会启动:

private void OnNewEvent(object sender, NotificationEventArgs args) {
    var ids = from e in args.Events.OfType<ItemEvent>()
              select e.ItemId;

    //This results in an error code
    var response = args.Subscription.Service.BindToItems(ids, new PropertySet(BasePropertySet.FirstClassProperties));
}

但是,我无法找到已删除的事件。我希望能够获取事件详细信息(例如名称、预定时间等)。有什么方法可以在事件被删除时获取该事件,或者这是我可以检索 ID 的唯一信息?

最佳答案

写在这里Pull notifications for EWS deletion-related mailbox events in Exchange 对于 exchange 2010,事件的类型为“DeletedEvent”。 由于项目被删除,操作 Item.Bind(OldItemId) 将失败。 您现在可以拥有的唯一信息是事件中的 OldFolderId 和 OldItemId。 除非你在某些数据库中有相应的信息(例如OutlookUniqueId=>AllInfos),否则你将无法获取它。

关于c# - 如何获取已删除的 Exchange 项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25330609/

相关文章:

c# - 在 Unity 的 GUI 上方绘制 3D GameObject

c# - 如何解析 MSTest Visual Studio 2012 中的 dll 绑定(bind)

c# - 在运行时静默更新应用程序

vba - 从电子邮件中提取第 3 行和第 4 行

javascript - 从 Outlook App 调用时,Dynamics CRM Online : Xrm. Page.context.client.getClient() 返回 "Web"

c# - Mongodb项目日期从数值(DateTimeOffset)

javascript - 文本到 Outlook 正文

c# - EWS Service.FindItems() 在使用 SearchFilter.IsEqualTo 时引发异常

c# - Microsoft.Exchange.WebServices.Data.ServiceResponseException : Connection did not succeed. 稍后重试

c# - 通过电话号码从 Exchange Server 查询 GAL 联系人