调用MS Graph Education班级成员接口报AccessDenied错误如何解决
MS Graph Education班级成员列表接口AccessDenied错误解决
错误原因
https://graph.microsoft.com/beta/education/classes/<ClassId>/members接口的返回逻辑需要读取关联的AAD用户对象属性,你已配置的EduAssignments.Read.All、EduRoster.Read.All权限仅覆盖教育场景下的班级、作业、教师基础属性查询,不包含AAD用户对象的读取权限,因此触发缺失声明的鉴权错误。
需要补充的配置
- 新增权限:根据你的应用授权类型补充对应权限
- 若为无用户登录的应用权限场景:添加
Directory.Read.All或EduRoster.ReadBasic.All权限 - 若为有用户登录的委托权限场景:添加
User.ReadBasic.All权限
- 若为无用户登录的应用权限场景:添加
- 权限授权:新增权限后必须重新完成全局管理员同意操作,未经过管理员同意的权限配置不会生效
- 冲突清理:如果你的权限列表中同时配置了
EduRoster.Read等单用户低范围权限,需要先移除冲突权限再重新授权,避免鉴权逻辑校验失败
验证方法
配置完成后重新请求access token,再次调用成员接口即可正常返回数据。
内容的提问来源于stack exchange,提问作者Nerian
相关产品推荐
相关产品推荐

