Azure DevOps 2020本地版如何仅获取团队中显式单独添加的成员
解决方案
你当前使用的/teams/{{team}}/members接口默认会递归展开所有嵌套组的成员,所以会返回AD组内的所有用户,要仅获取显式直接添加的成员,按以下步骤操作即可:
1. 先获取当前团队的身份描述符(descriptor)
调用团队基础信息接口,拿到团队对应的安全组描述符:
GET https://{{coreServer}}/{{organization}}/_apis/projects/{{projectId}}/teams/{{teamId}}?$expand=Identity&api-version=5.0
从返回结果中提取identity.descriptor字段的值,后续接口需要用到这个参数。
2. 调用身份查询接口获取直接成员
使用上一步拿到的descriptor调用身份接口,指定queryMembership=Direct参数,该参数只会返回直接添加到团队的主体,不会展开任何嵌套组:
GET https://{{coreServer}}/{{organization}}/_apis/identities?descriptors={{刚才拿到的团队descriptor}}&queryMembership=Direct&api-version=5.0
3. 过滤出单独用户(可选)
返回结果的members数组就是所有显式添加到团队的主体,如果你需要排除显式添加的AD组本身、仅保留单独添加的用户,过滤subjectKind字段值为User的条目即可。
内容的提问来源于stack exchange,提问作者Joe_12345
相关产品推荐
相关产品推荐

