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

无需管理员同意,能否通过Microsoft Teams Graph API获取用户所属团队?

获取已授权用户的团队列表(无需Admin Consent)

你提到的这个困惑其实挺常见的——原本以为用户授权后就能拿到自己的团队信息,但看到/me/joinedTeams的权限都标注需要admin consent,确实容易产生疑惑。不过这里有个关键细节可能你没留意到:并非所有对应权限都需要管理员同意。

正确的权限选择(无需Admin Consent)

在用户主动授权的委托权限(Delegated Permissions)场景下,你可以使用以下两个支持用户自行授权的权限:

  • Team.ReadBasic.All:允许应用读取用户已加入团队的基础信息(如团队名称、ID)
  • TeamMember.Read.All:除基础团队信息外,还可读取团队成员的相关数据

这两个权限都不需要管理员介入,用户在授权流程中确认即可授予应用访问权限。

为什么会看到需要Admin Consent的权限?

你大概率是查看了**应用权限(Application Permissions)**下的选项——这类权限是给后台服务类应用设计的,不需要用户交互,因此必须由管理员同意才能启用。而我们在用户授权场景下使用的是委托权限,这部分里的Team.ReadBasic.All和TeamMember.Read.All完全支持用户自主授权。

调用示例

确认应用权限配置正确后,使用用户授权后的access token调用接口即可获取团队列表,示例cURL请求:

curl --request GET \
  --url https://graph.microsoft.com/v1.0/me/joinedTeams \
  --header 'Authorization: Bearer {access-token}'

注意事项

  • 确保在Azure AD应用配置中添加的是委托权限,且仅勾选上述无需admin consent的权限项
  • 用户授权时,应用会展示需要的权限范围,用户确认后应用就能获取对应的访问权限

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.08 09:42:29