调用Microsoft Graph API枚举日历无法返回新创建日历问题求助
Microsoft Graph API 日历列表查询遗漏新创建日历排查步骤
- 首先确认查询范围是否覆盖所有日历组
你当前调用的GET https://graph.microsoft.com/v1.0/users/{user_id}/calendars接口在部分租户配置下仅返回默认日历组内的日历,新创建的日历如果被归属到自定义日历组中,不会在该接口直接返回。可先调用GET https://graph.microsoft.com/v1.0/users/{user_id}/calendarGroups枚举所有日历组,再逐个调用GET https://graph.microsoft.com/v1.0/users/{user_id}/calendarGroups/{calendar_group_id}/calendars查询每个组下的日历,确认遗漏的新日历是否在其他组内。 - 强制触发全量查询校验返回总数
调用接口时添加查询参数$count=true,同时在请求头中添加ConsistencyLevel: eventual,完整请求示例:GET https://graph.microsoft.com/v1.0/users/{user_id}/calendars?$top=500&$count=true,查看返回结果的@odata.count字段值是否和你账户下实际的日历总数一致,如果值小于实际数量,说明接口存在查询范围限制,可检查是否有隐藏的过滤规则生效。 - 校验接口调用权限是否匹配
确认你调用查询接口时使用的权限:- 若使用委托权限,需确保已授予
Calendars.Read或更高权限,且登录身份与{user_id}对应用户一致 - 若使用应用权限,需确保已授予
Calendars.ReadBasic.All或更高的应用级权限,且已完成管理员同意
- 若使用委托权限,需确保已授予
- 排除租户数据同步延迟
部分跨区域部署的Office 365租户存在日历元数据同步滞后的情况,若上述步骤均无异常,可等待24小时后再次重试查询,若仍无法返回新创建的日历,可提交微软365管理员工单排查租户级配置异常。
内容的提问来源于stack exchange,提问作者方宇凡
相关产品推荐
相关产品推荐

