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

使用ClientSecret实现C#中Graph认证时遇权限错误求助

解决ClientSecret调用Graph API时的"Either scp or roles claim need to be present in the token"错误

这个错误的核心原因是你用了应用权限模式(ClientSecret),但没有给Azure应用注册配置对应的Graph应用权限并完成管理员同意。

具体修复步骤:

  • 登录Azure门户,找到你的应用注册
  • 进入「API权限」页面
  • 点击「添加权限」→ 选择「Microsoft Graph」→ 切换到「应用权限」标签
  • 根据你要调用的Graph接口,勾选对应的应用权限(比如查询用户就选User.Read.All,读取邮件选Mail.Read等)
  • 添加权限后,点击页面顶部的「授予管理员同意」(必须由全局管理员或具备权限的角色完成此操作)

代码确认:

你的代码里的scope用https://graph.microsoft.com/.default是正确的,应用权限模式下必须使用这个scope,它会自动包含你给应用配置的所有应用权限。另外要确保:

  • TENANT_ID是你的租户ID(或租户域名)
  • CLIENT_ID是应用注册的客户端ID
  • VALUE_OF_SECRET是你在应用注册里创建的客户端密钥值(不是密钥ID)

完成上述操作后,重新运行代码应该就能正常调用Graph API了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 15:37:06