You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过事件ID使用Microsoft Graph API获取已删除Outlook事件详情

可以用Graph API获取已删除的日历事件,无需依赖EWS

你遇到的问题很常见——默认的/me/events/{event-id}端点确实查不到已删除的事件,因为它们已经不在常规的日历文件夹里了。不过Graph API提供了专门的路径来访问已删除的日历项,完全不需要退回到EWS(而且EWS已经被微软标记为弃用,推荐优先用Graph)。

核心思路:访问已删除项目文件夹里的事件

已删除的日历事件会被移动到用户的**已删除项目(Deleted Items)**文件夹中,Graph API提供了直接访问这个文件夹内事件的端点。

1. 所需权限

确保你的应用已获得以下权限之一(根据场景选择委托/应用权限):

  • Calendars.Read(只读访问)
  • Calendars.ReadWrite(读写访问)

2. 查询特定已删除事件

如果你已经从Webhook通知中拿到了事件ID,直接用下面的端点查询即可:

GET https://graph.microsoft.com/v1.0/me/deletedItems/{event-id}

或者更明确地指定类型(避免和其他已删除项目混淆):

GET https://graph.microsoft.com/v1.0/me/deletedItems/microsoft.graph.event?$filter=id eq '{event-id}'

3. 处理可能的查询问题

如果遇到查询不到的情况,试试这两个技巧:

  • 添加请求头ConsistencyLevel: eventual:已删除项目的索引可能有短暂延迟,这个头会确保Graph返回最新的状态。
  • 确认事件是软删除:如果事件被永久删除(比如从已删除项目中再次删除,或者超过组织的保留期),Graph API也无法获取,这种情况需要联系管理员查看合规性存档(如果有配置)。

4. 关于EWS的说明

完全不需要依赖EWS了——Graph API的已删除项目端点已经覆盖了EWS中获取已删除日历事件的功能,而且微软已经宣布EWS将于2026年停用,建议尽快迁移到Graph。

举个实际测试的例子:在Graph Explorer中登录后,发送GET https://graph.microsoft.com/v1.0/me/deletedItems/microsoft.graph.event,就能看到所有你最近删除的日历事件,包含完整的详情(标题、时间、参与者等)。


内容的提问来源于stack exchange,提问作者user8947735

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 07:54:41