命名空间:microsoft.graph
返回指定用户、组、服务主体、组织联系人、设备或目录对象所属的组的所有组 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 帐户) |
不支持。 |
应用程序 |
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.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
注意
调用 /me
终结点需要已登录的用户,因此需要委派权限。 使用 /me
终结点时,不支持应用程序权限。
注意
调用 /me
终结点需要已登录的用户,因此需要委派权限。 使用 /me
终结点时,不支持应用程序权限。
组的组成员身份。
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
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.DirectoryObjects.Item.GetMemberGroups;
var requestBody = new GetMemberGroupsPostRequestBody
{
SecurityEnabledOnly = false,
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.DirectoryObjects["{directoryObject-id}"].GetMemberGroups.PostAsGetMemberGroupsPostResponseAsync(requestBody);
有关如何将 SDK 添加到项目并创建 authProvider 实例的详细信息,请参阅 SDK 文档。
mgc directory-objects get-member-groups post --directory-object-id {directoryObject-id} --body '{\
"securityEnabledOnly": false\
}\
'
有关如何将 SDK 添加到项目并创建 authProvider 实例的详细信息,请参阅 SDK 文档。
// Code snippets are only available for the latest major version. Current major version is $v1.*
// Dependencies
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-sdk-go"
graphdirectoryobjects "github.com/microsoftgraph/msgraph-sdk-go/directoryobjects"
//other-imports
)
requestBody := graphdirectoryobjects.NewGetMemberGroupsPostRequestBody()
securityEnabledOnly := false
requestBody.SetSecurityEnabledOnly(&securityEnabledOnly)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
getMemberGroups, err := graphClient.DirectoryObjects().ByDirectoryObjectId("directoryObject-id").GetMemberGroups().PostAsGetMemberGroupsPostResponse(context.Background(), requestBody, nil)
有关如何将 SDK 添加到项目并创建 authProvider 实例的详细信息,请参阅 SDK 文档。
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
com.microsoft.graph.directoryobjects.item.getmembergroups.GetMemberGroupsPostRequestBody getMemberGroupsPostRequestBody = new com.microsoft.graph.directoryobjects.item.getmembergroups.GetMemberGroupsPostRequestBody();
getMemberGroupsPostRequestBody.setSecurityEnabledOnly(false);
var result = graphClient.directoryObjects().byDirectoryObjectId("{directoryObject-id}").getMemberGroups().post(getMemberGroupsPostRequestBody);
有关如何将 SDK 添加到项目并创建 authProvider 实例的详细信息,请参阅 SDK 文档。
const options = {
authProvider,
};
const client = Client.init(options);
const string = {
securityEnabledOnly: false
};
await client.api('/directoryObjects/0049d944-a805-4680-9f54-3ab292090309/getMemberGroups')
.post(string);
有关如何将 SDK 添加到项目并创建 authProvider 实例的详细信息,请参阅 SDK 文档。
<?php
use Microsoft\Graph\GraphServiceClient;
use Microsoft\Graph\Generated\DirectoryObjects\Item\GetMemberGroups\GetMemberGroupsPostRequestBody;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new GetMemberGroupsPostRequestBody();
$requestBody->setSecurityEnabledOnly(false);
$result = $graphServiceClient->directoryObjects()->byDirectoryObjectId('directoryObject-id')->getMemberGroups()->post($requestBody)->wait();
有关如何将 SDK 添加到项目并创建 authProvider 实例的详细信息,请参阅 SDK 文档。
Import-Module Microsoft.Graph.DirectoryObjects
$params = @{
securityEnabledOnly = $false
}
Get-MgDirectoryObjectMemberGroup -DirectoryObjectId $directoryObjectId -BodyParameter $params
有关如何将 SDK 添加到项目并创建 authProvider 实例的详细信息,请参阅 SDK 文档。
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph import GraphServiceClient
from msgraph.generated.directoryobjects.item.get_member_groups.get_member_groups_post_request_body import GetMemberGroupsPostRequestBody
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = GetMemberGroupsPostRequestBody(
security_enabled_only = False,
)
result = await graph_client.directory_objects.by_directory_object_id('directoryObject-id').get_member_groups.post(request_body)
有关如何将 SDK 添加到项目并创建 authProvider 实例的详细信息,请参阅 SDK 文档。
响应
以下示例显示了相应的响应。
注意:为了提高可读性,可能缩短了此处显示的响应对象。
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
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Me.GetMemberGroups;
var requestBody = new GetMemberGroupsPostRequestBody
{
SecurityEnabledOnly = true,
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Me.GetMemberGroups.PostAsGetMemberGroupsPostResponseAsync(requestBody);
有关如何将 SDK 添加到项目并创建 authProvider 实例的详细信息,请参阅 SDK 文档。
mgc users get-member-groups post --user-id {user-id} --body '{\
"securityEnabledOnly": true\
}\
'
有关如何将 SDK 添加到项目并创建 authProvider 实例的详细信息,请参阅 SDK 文档。
// Code snippets are only available for the latest major version. Current major version is $v1.*
// Dependencies
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-sdk-go"
graphusers "github.com/microsoftgraph/msgraph-sdk-go/users"
//other-imports
)
requestBody := graphusers.NewItemGetMemberGroupsPostRequestBody()
securityEnabledOnly := true
requestBody.SetSecurityEnabledOnly(&securityEnabledOnly)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
getMemberGroups, err := graphClient.Me().GetMemberGroups().PostAsGetMemberGroupsPostResponse(context.Background(), requestBody, nil)
有关如何将 SDK 添加到项目并创建 authProvider 实例的详细信息,请参阅 SDK 文档。
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
com.microsoft.graph.users.item.getmembergroups.GetMemberGroupsPostRequestBody getMemberGroupsPostRequestBody = new com.microsoft.graph.users.item.getmembergroups.GetMemberGroupsPostRequestBody();
getMemberGroupsPostRequestBody.setSecurityEnabledOnly(true);
var result = graphClient.me().getMemberGroups().post(getMemberGroupsPostRequestBody);
有关如何将 SDK 添加到项目并创建 authProvider 实例的详细信息,请参阅 SDK 文档。
const options = {
authProvider,
};
const client = Client.init(options);
const string = {
securityEnabledOnly: true
};
await client.api('/me/getMemberGroups')
.post(string);
有关如何将 SDK 添加到项目并创建 authProvider 实例的详细信息,请参阅 SDK 文档。
<?php
use Microsoft\Graph\GraphServiceClient;
use Microsoft\Graph\Generated\Users\Item\GetMemberGroups\GetMemberGroupsPostRequestBody;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new GetMemberGroupsPostRequestBody();
$requestBody->setSecurityEnabledOnly(true);
$result = $graphServiceClient->me()->getMemberGroups()->post($requestBody)->wait();
有关如何将 SDK 添加到项目并创建 authProvider 实例的详细信息,请参阅 SDK 文档。
Import-Module Microsoft.Graph.Users.Actions
$params = @{
securityEnabledOnly = $true
}
# A UPN can also be used as -UserId.
Get-MgUserMemberGroup -UserId $userId -BodyParameter $params
有关如何将 SDK 添加到项目并创建 authProvider 实例的详细信息,请参阅 SDK 文档。
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph import GraphServiceClient
from msgraph.generated.users.item.get_member_groups.get_member_groups_post_request_body import GetMemberGroupsPostRequestBody
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = GetMemberGroupsPostRequestBody(
security_enabled_only = True,
)
result = await graph_client.me.get_member_groups.post(request_body)
有关如何将 SDK 添加到项目并创建 authProvider 实例的详细信息,请参阅 SDK 文档。
响应
注意:为了提高可读性,可能缩短了此处显示的响应对象。
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"
]
}