作为一种解决方法,我们可以使用 API 列出所有组并获取组 ID(响应正文中的组 ID 为 originId)
GET https://vssps.dev.azure.com/{Org name}/_apis/graph/groups?api-version=6.0-preview.1
通过下面的 REST API 获取一组 subjectDescriptor
注意:subjectDescriptor 是响应正文中的字段value
GET https://vssps.dev.azure.com/{Org name}/_apis/graph/descriptors/{Group ID}
列出群组成员
POST https://dev.azure.com/{Org name}/_apis/Contribution/HierarchyQuery?api-version=5.1-preview.1
请求正文
{
"contributionIds": [
"ms.vss-admin-web.org-admin-members-data-provider"
],
"dataProviderContext": {
"properties": {
"subjectDescriptor": "{subjectDescriptor}",
"sourcePage": {
"url": "https://dev.azure.com/{Org name}/_settings/groups?subjectDescriptor={subjectDescriptor}",
"routeId": "ms.vss-admin-web.collection-admin-hub-route",
"routeValues": {
"adminPivot": "groups",
"controller": "ContributedPage",
"action": "Execute"
}
}
}
}
}
结果:
注意:我建议您将最初的问题提交给Developer Community,他们会检查并联系产品团队。
更新1
检查组权限并获取 NamespaceId 和 Token。
GET https://dev.azure.com/{Org name}/_apis/Contribution/HierarchyQuery?api-version=6.0-preview
请求正文
{
"contributionIds": [
"ms.vss-admin-web.org-admin-groups-permissions-pivot-data-provider"
],
"dataProviderContext": {
"properties": {
"subjectDescriptor": "{subjectDescriptor},
"sourcePage": {
"url": "https://dev.azure.com/v-viliu/_settings/groups?subjectDescriptor={subjectDescriptor}",
"routeId": "ms.vss-admin-web.collection-admin-hub-route",
"routeValues": {
"adminPivot": "groups",
"controller": "ContributedPage",
"action": "Execute"
}
}
}
}
}
通过下面的API获取描述符
GET https://dev.azure.com/{Org name}/_apis/accesscontrollists/{securityNamespaceId}?api-version=6.0
Get group permission detail info
https://dev.azure.com/{Org name}/_apis/accesscontrollists/{securityNamespaceId}?token={Token}&descriptors={descriptor}&api-version=6.0
注意:这是二进制代码。
Update group permission.
POST https://dev.azure.com/{organization}/_apis/accesscontrollists/{securityNamespaceId}?api-version=6.0
我们可以通过上面的API获取请求体,如果需要更改权限,只需要更改字段Allow和Deny的值即可。
你也可以参考这个link。