directoryObject: getMemberGroups

命名空间:microsoft.graph

重要

Microsoft Graph /beta 版本下的 API 可能会发生更改。 不支持在生产应用程序中使用这些 API。 若要确定 API 是否在 v1.0 中可用,请使用 版本 选择器。

返回指定用户、组、服务主体组织联系人设备目录对象所属的组的所有 ID。 此函数是可传递的。

此 API 最多返回 11,000 个组 ID。 如果超过 11,000 个结果可用,则返回错误 400 Bad Request 并返回 Directory_ResultSizeLimitExceeded 错误代码。 如果收到 Directory_ResultSizeLimitExceeded 错误代码,请改用 列表组可传递 memberOf API。

此 API 可用于以下国家级云部署

全局服务 美国政府 L4 美国政府 L5 (DOD) 由世纪互联运营的中国

权限

要调用此 API,需要以下权限之一。 若要了解详细信息,包括如何选择权限的信息,请参阅权限

目录对象的组成员身份

在这里,无论对象类型如何,权限都允许读取 任何 目录对象。 若要将操作范围限定为特定的对象类型并使用较低特权的权限,请参阅此页上的其他权限表。

权限类型 权限(从最低特权到最高特权)
委派(工作或学校帐户) Directory.Read.All
委派(个人 Microsoft 帐户) 不支持。
应用程序 Directory.Read.All

用户的组成员身份

权限类型 权限(从最低特权到最高特权)
委派(工作或学校帐户) User.ReadBasic.All 和 GroupMember.Read.All、User.Read.All 和 GroupMember.Read.All、User.ReadBasic.All 和 Group.Read.All、User.Read.All 和 Group.Read.All、Directory.Read.All
委派(个人 Microsoft 帐户) 不支持。
Application User.ReadBasic.All 和 GroupMember.Read.All、User.Read.All 和 GroupMember.Read.All、User.ReadBasic.All 和 Group.Read.All、User.Read.All 和 Group.Read.All、Directory.Read.All

组的组成员身份

权限类型 权限(从最低特权到最高特权)
委派(工作或学校帐户) GroupMember.Read.All, Group.Read.All, Directory.Read.All, Group.ReadWrite.All, Directory.ReadWrite.All
委派(个人 Microsoft 帐户) 不支持。
应用程序 GroupMember.Read.All, Group.Read.All, Directory.Read.All, Group.ReadWrite.All, Directory.ReadWrite.All

服务主体的组成员身份

权限类型 权限(从最低特权到最高特权)
委派(工作或学校帐户) Application.Read.All、Directory.Read.All、Application.ReadWrite.All、Directory.ReadWrite.All
委派(个人 Microsoft 帐户) 不支持。
应用程序 Application.Read.All、Directory.Read.All、Application.ReadWrite.All、Directory.ReadWrite.All

组织联系人的组成员身份

权限类型 权限(从最低特权到最高特权)
委派(工作或学校帐户) Directory.Read.All、Directory.ReadWrite.All
委派(个人 Microsoft 帐户) 不支持。
应用程序 Directory.Read.All、Directory.ReadWrite.All

设备的组成员身份

权限类型 最低特权权限 更高特权权限
委派(工作或学校帐户) Application.Read.All Application.ReadWrite.All、Device.Read.All、Directory.Read.All、Directory.ReadWrite.All、Group.Read.All、Group.ReadWrite.All、GroupMember.Read.All、User.Read.All
委派(个人 Microsoft 帐户) 不支持。 不支持。
Application Application.Read.All Application.ReadWrite.All、Device.Read.All、Device.ReadWrite.All、Directory.Read.All、Directory.ReadWrite.All、Group.Read.All、Group.ReadWrite.All、GroupMember.Read.All、User.Read.All

HTTP 请求

目录对象的组成员身份 (用户、组、服务主体或组织联系人) 。

POST /directoryObjects/{id}/getMemberGroups

已登录用户或其他用户的组成员身份。

POST /me/getMemberGroups
POST /users/{id | userPrincipalName}/getMemberGroups

组的组成员身份。

POST /groups/{id}/getMemberGroups

服务主体的组成员身份。

POST /servicePrincipals/{id}/getMemberGroups

组织联系人的组成员身份。

POST /contacts/{id}/getMemberGroups

设备的组成员身份。

POST /devices/{id}/getMemberGroups

请求标头

名称 说明
Authorization 持有者 {token}。 必填。 详细了解 身份验证和授权
Content-Type application/json

请求正文

在请求正文中,提供具有以下参数的 JSON 对象。

参数 类型 说明
securityEnabledOnly Boolean true 如果指定仅应返回实体所属的安全组,则为 ; false 指定应返回实体所属的所有组和目录角色。 true 只能为用户或服务主体指定以返回已启用安全的组。

响应

如果成功,此方法在响应正文中返回 200 OK 响应代码和 String 集合对象。

示例

示例 1:检查目录对象的组成员身份

请求

POST https://graph.microsoft.com/beta/directoryObjects/0049d944-a805-4680-9f54-3ab292090309/getMemberGroups
Content-type: application/json

{
    "securityEnabledOnly": false
}

响应

以下示例显示了相应的响应。

注意:为了提高可读性,可能缩短了此处显示的响应对象。

HTTP/1.1 200 OK
Content-type: application/json

{
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#Collection(Edm.String)",
    "value": [
        "a8daa1fb-d24c-47d0-9e9e-c99e83394e3e"
    ]
}

示例 2:检查已登录用户的组成员身份

请求

POST https://graph.microsoft.com/beta/me/getMemberGroups
Content-type: application/json

{
  "securityEnabledOnly": true
}

响应

注意:为了提高可读性,可能缩短了此处显示的响应对象。

HTTP/1.1 200 OK
Content-type: application/json

{
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#Collection(Edm.String)",
    "value": [
        "6239671a-0db6-4e8b-9d2f-f280efb5a181",
        "2e2f1227-1586-45ae-bf51-fccc1de72625",
        "f5987b5a-61f6-4c31-9fa2-7bfb845c8d2a"
    ]
}