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

开发自定义Web App:无法获取SDS读写所需的Microsoft Graph权限

解决Microsoft Graph API中EduRoster权限找不到的问题

我之前也碰到过一模一样的困扰,你找不到EduRoster.Read.All和EduRoster.ReadWrite.All权限的核心原因是:这些权限属于仅限管理员同意的应用权限,且仅在特定条件下可见,下面是具体的解决步骤和细节:

1. 先明确权限的类型和可见前提

这些EduRoster权限是Microsoft Graph的应用权限(而非面向用户的委托权限),默认不会在普通用户的权限选择界面中显示,只有租户管理员才能操作和授予。同时,这些权限仅对已经配置了School Data Sync(SDS)的Azure AD租户可见,如果你的租户还没启用SDS,大概率搜不到这些权限。

2. 在Azure AD应用注册中找到并添加权限

按照以下步骤操作就能找到目标权限:

  • 登录Azure门户,进入你的应用注册页面
  • 左侧导航选择「API权限」,点击「添加权限」
  • 选择「Microsoft Graph」,然后切换到「应用权限」标签(别选委托权限,委托权限里确实没有这些)
  • 在搜索框中输入EduRoster,就能看到EduRoster.Read.All和EduRoster.ReadWrite.All这两个权限了
  • 选中你需要的权限,点击「添加权限」完成配置

3. 必须完成管理员同意才能生效

添加权限后,必须由租户全局管理员授予同意才能让应用使用这些权限:

  • 在应用注册的「API权限」页面,点击「授予管理员同意」按钮即可完成授权(仅限单租户应用)
  • 如果是多租户应用,你需要引导目标租户的管理员通过管理员同意流程来授权(可以生成包含权限范围的同意链接,让管理员访问并确认授权)

4. 调用API的额外注意事项

因为你参考的是Beta版本的Graph API文档,调用时必须使用Beta端点,比如获取学校列表的请求地址是:

GET https://graph.microsoft.com/beta/education/schools

确保请求使用正确的端点,否则即使权限配置正确也会出现权限不足的报错。

内容的提问来源于stack exchange,提问作者Jako Kotzé

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 08:01:58