如何通过Microsoft Graph API查询获取用户的全部下属列表
Microsoft Graph 获取用户下属解决方案
方案1(首选)实现方式
直接查询指定用户全部下属的功能为Graph原生支持,使用directReports终结点即可完成,同时若返回结果为空可直接判定该用户并非管理者,完全匹配你的需求。
调用示例
- 查询任意指定用户的下属:
GET https://graph.microsoft.com/v1.0/users/{用户ID/用户主体名称}/directReports - 查询当前登录用户的下属:
GET https://graph.microsoft.com/v1.0/me/directReports - 权限要求:需提前申请
User.Read.All或Directory.Read.All的委托/应用权限
方案2实现方式
你梳理的逻辑可直接落地,执行两步调用即可:
- 调用现有接口获取指定用户的管理者ID:
GET https://graph.microsoft.com/v1.0/users/{指定用户ID}/manager,返回结果中提取id字段即为管理者ID - 调用
directReports接口查询该管理者的所有下属:GET https://graph.microsoft.com/v1.0/users/{第一步获取的管理者ID}/directReports
补充说明
若管理者下属数量超过20,接口会自动分页,取返回值中的@odata.nextLink字段值继续调用,直到无该字段即可拿到全量下属数据。
内容的提问来源于stack exchange,提问作者Roelant M
相关产品推荐
相关产品推荐

