Microsoft Graph调用SharePoint搜索时.NET Core应用报403禁止访问问题
问题解决指南
报错本质是权限不足,Graph Explorer能正常运行是因为你使用时已经手动授予了对应权限,而你的.NET Core应用对应的Azure AD注册项没有配置正确的Microsoft Graph权限。
配置步骤
- 登录Azure门户,进入「Azure Active Directory」→「应用注册」,找到你当前.NET Core项目绑定的应用注册条目
- 进入左侧「API权限」菜单,点击「添加权限」,选择「Microsoft Graph」
- 根据你的应用授权类型选择对应权限,优先选择满足业务需求的最小权限,无需写入场景建议只选
Sites.Read.All即可:- 委托权限场景(用户登录后以用户身份调用接口):选择委托权限下的
Sites.Read.All或Sites.ReadWrite.All - 应用权限场景(无用户登录的后台服务调用):选择应用权限下的
Sites.Read.All或Sites.ReadWrite.All,配置完成后必须点击「授予管理员同意」完成权限激活
- 委托权限场景(用户登录后以用户身份调用接口):选择委托权限下的
- 检查你.NET Core项目中GraphServiceClient的初始化代码,确认请求的scope包含了上述配置的权限
额外排查点
- 权限配置完成后如果仍报错,先清空应用的Token缓存,避免使用旧的无权限访问令牌
- 如果后续需要搜索站点内的文件、列表项等资源,需要按需补充对应实体的访问权限
- 应用权限场景必须由租户全局管理员/SharePoint管理员完成管理员同意,普通用户的同意操作不生效
内容的提问来源于stack exchange,提问作者Jay
相关产品推荐
相关产品推荐

