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

使用Microsoft Graph API读取租户内所有用户日历失败求助

读取租户内其他用户日历的问题排查

可以读取租户内其他用户的日历,但你的操作存在权限或配置问题,以下是具体分析和解决办法:

错误原因分析

你收到的ErrorItemNotFound错误通常有两类核心原因:

  1. 目标用户ID无效:URI中{user-id}填写的不是租户内有效用户的ID(比如拼写错误、使用了不存在的邮箱/对象ID)
  2. 权限不匹配或未生效:即使在Graph Explorer中勾选了权限,也需要满足权限的类型要求和生效条件

具体操作修正点

1. 验证用户ID的有效性

先调用以下API获取租户内所有用户的合法ID(用户主体名称UPN或对象ID均可):

GET https://graph.microsoft.com/v1.0/users

将返回的目标用户ID完整替换到你的请求URI中,确保ID完全匹配。

2. 确认权限配置的正确性

委托权限模式(Graph Explorer默认模式)

若使用个人账号登录调用,需满足以下任一条件:

  • 目标用户已将日历共享给你,此时需授予Calendars.Read.Shared委托权限
  • 你拥有Exchange管理员、全局管理员等管理员角色,此时授予Calendars.Read或Calendars.Read.All委托权限即可访问所有用户日历

注意:委托权限依赖当前登录用户的实际访问权限,仅勾选Graph Explorer的权限无法绕过用户级的访问控制

应用权限模式

若要无需用户交互直接访问所有用户日历,需使用应用权限:

  1. 在Azure AD中注册应用,添加Calendars.Read.All应用权限
  2. 由全局管理员或Exchange管理员完成管理员同意
  3. 在Graph Explorer中切换到"应用权限"模式,使用该应用的凭据调用API

3. 检查权限生效状态

在Graph Explorer的"权限"面板中,确认你勾选的权限状态为已同意(管理员同意的权限会标注"Admin Consent Granted"),未完成同意的权限无法生效。

错误信息参考

{
  "error": {
    "code": "ErrorItemNotFound",
    "message": "The specified object was not found in the store.",
    "innerError": {
      "date": "2023-05-18T04:38:16",
      "request-id": "..............................................................................",
      "client-request-id": "..................................................................."
    }
  }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 18:13:11