directoryObject: getMemberGroups

命名空间:microsoft.graph

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

此 API 最多返回 11,000 个组 ID。 如果超过 11,000 个结果可用,则返回错误 400 Bad Request 并返回 Directory_ResultSizeLimitExceeded 错误代码。 解决方法是使用 列出组可传递 memberOf API。

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

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

权限

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

目录对象的组成员身份

权限类型 权限(从最低特权到最高特权)
委派(工作或学校帐户) 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 帐户) 不支持。
应用程序 User.Read.All 和 GroupMember.Read.All、User.Read.All 和 Group.Read.All、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 帐户) 不支持。
应用程序 User.Read.All 和 GroupMember.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

设备的组成员身份

权限类型 权限(从最低特权到最高特权)
委派(工作或学校帐户) Device.Read.All、Directory.Read.All、Directory.ReadWrite.All
委派(个人 Microsoft 帐户) 不支持。
应用程序 Device.Read.All、Device.ReadWrite.All、Directory.Read.All、Directory.ReadWrite.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/v1.0/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/v1.0/$metadata#Collection(Edm.String)",
    "value": [
        "a8daa1fb-d24c-47d0-9e9e-c99e83394e3e"
    ]
}

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

请求

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

{
  "securityEnabledOnly": true
}

响应

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

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

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#Collection(Edm.String)",
    "value": [
        "6239671a-0db6-4e8b-9d2f-f280efb5a181",
        "2e2f1227-1586-45ae-bf51-fccc1de72625",
        "1dae9306-be75-4c3c-99ec-0316a4342c84",
        "0e2d1bbb-76f8-4140-bda7-2a858b74507e",
        "0049d944-a805-4680-9f54-3ab292090309",
        "a8daa1fb-d24c-47d0-9e9e-c99e83394e3e",
        "6f204729-1b8f-4067-bcc9-98fb6c069ffd",
        "59afd38d-441a-4358-b074-8b9b1e7de52f",
        "64ed3df3-53c7-4d4d-ac5c-5c8dd4dafe33",
        "8b676bab-4b1e-419e-a253-7f5aca97d739",
        "be4ef325-9fa8-40d7-b375-4758853ddf52",
        "f5987b5a-61f6-4c31-9fa2-7bfb845c8d2a"
    ]
}