Namespace: microsoft.graph
Importante
As APIs na versão /beta no Microsoft Graph estão sujeitas a alterações. Não há suporte para o uso dessas APIs em aplicativos de produção. Para determinar se uma API está disponível na v1.0, use o seletor Versão.
Obtenha uma lista dos membros diretos do grupo . Um grupo pode ter usuários, contatos, dispositivos, entidades de serviço e outros grupos como membros. Esta operação não é transitiva.
Essa API está disponível nas seguintes implantações de nuvem nacional.
| Serviço global |
Governo dos EUA L4 |
US Government L5 (DOD) |
China operada pela 21Vianet |
| ✅ |
✅ |
✅ |
✅ |
Permissões
Escolha a(s) permissão(s) marcada(s) como menos privilegiada(s) para essa API. Use uma permissão ou permissões com privilégios mais altos somente se o aplicativo exigir. Para obter detalhes sobre permissões delegadas e de aplicativo, consulte Tipos de permissão. Para saber mais sobre essas permissões, consulte a referência de permissões.
| Tipo de permissão |
Permissões menos privilegiadas |
Permissões com privilégios mais elevados |
| Delegado (conta corporativa ou de estudante) |
GroupMember.ReadBasic.All |
Directory.Read.All, Group.Read.All, Group.ReadBasic.All, Group.ReadWrite.All, GroupMember.Read.All, GroupMember.ReadWrite.All |
| Delegado (conta pessoal da Microsoft) |
Sem suporte. |
Sem suporte. |
| Application |
GroupMember.ReadBasic.All |
Directory.Read.All, Group.Read.All, Group.ReadBasic.All, Group.ReadWrite.All, GroupMember.Read.All, GroupMember.ReadWrite.All |
Importante
Quando um aplicativo consulta uma relação que retorna uma coleção de tipos directoryObject , se ele não tiver permissão para ler um determinado tipo de recurso, membros desse tipo serão retornados, mas com informações limitadas. Por exemplo, somente a propriedade @odata.type para o tipo de objeto e a id são retornadas, enquanto outras propriedades são indicadas como null. Com esse comportamento, os aplicativos podem solicitar as permissões menos privilegiadas de que precisam, em vez de depender do conjunto de Diretório.* permissões. Para obter mais detalhes, confira Informações limitadas retornadas para objetos membro inacessíveis.
Em cenários delegados, o usuário conectado também deve receber uma função do Microsoft Entra com suporte ou uma função personalizada com a microsoft.directory/groups/members/read permissão microsoft.directory/groups/hiddenMembers/read de função ou microsoft.directory/groups/members/limitedRead ou permissão de função para ler membros ocultos. As seguintes funções menos privilegiadas têm suporte para essa operação:
- Proprietários de grupo
- Usuários "membros"
- Usuários "convidados" - têm permissões de leitura limitadas
- Leitores de Diretório
- Escritores de diretório
- Administrador de grupos
- Administrador de usuários - incluindo membros ocultos
- Administrador do Exchange \u2012 incluindo membros ocultos
- Administrador do SharePoint \u2012 incluindo membros ocultos
- Administrador do Intune - incluindo membros ocultos
- Administrador do Teams - incluindo membros ocultos
- Administrador do Yammer - incluindo membros ocultos
Para listar os membros de um grupo de membros ocultos, a permissão Member.Read.Hidden também é necessária.
Solicitação HTTP
GET /groups/{id}/members
Parâmetros de consulta opcionais
Esse método dá suporte aos $filterparâmetros de consulta , $count, , $top$select$search, e $expand OData para ajudar a personalizar a resposta.
- A conversão de OData está habilitada. Por exemplo,
/groups/{id}/members/microsoft.graph.user recupera membros do grupo que são usuários.
-
$search tem suporte apenas nas propriedades displayName e description .
- O tamanho de página padrão e máximo é de 100 e 999 objetos de grupo, respectivamente.
- O uso de parâmetros de consulta com essa API, exceto para
$expand, é suportado apenas com parâmetros de consulta avançados.
$expand não é compatível com parâmetros de consulta avançados. Para obter mais informações, consulte Recursos avançados de consulta em objetos de diretório.
| Nome |
Descrição |
| Autorização |
{token} de portador. Obrigatório. Saiba mais sobre autenticação e autorização. |
| ConsistencyLevel |
eventualmente. Este cabeçalho e $count são necessários quando se utiliza $search, $filter, $orderby ou os parâmetros de consulta de conversão OData. Ele usa um índice que pode não estar atualizado com as alterações recentes no objeto. |
Corpo da solicitação
Não forneça um corpo de solicitação para esse método.
Resposta
Se bem-sucedido, este método retorna um código de resposta 200 OK e uma coleção de objetos directoryObject no corpo da resposta.
Uma tentativa de filtrar por uma conversão de OData que representa um tipo de membro sem suporte retorna um 400 Bad Request erro com o Request_UnsupportedQuery código. Por exemplo, /groups/{id}}/members/microsoft.graph.group quando o grupo é um grupo do Microsoft 365 retorna esse erro, pois os grupos do Microsoft 365 não podem ter outros grupos como membros.
Exemplos
Exemplo 1: Obtenha a associação direta em um grupo
Solicitação
O exemplo a seguir mostra uma solicitação.
GET https://graph.microsoft.com/beta/groups/{id}/members
// Code snippets are only available for the latest version. Current version is 5.x
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Groups["{group-id}"].Members.GetAsync();
// Code snippets are only available for the latest major version. Current major version is $v0.*
// Dependencies
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-beta-sdk-go"
//other-imports
)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
members, err := graphClient.Groups().ByGroupId("group-id").Members().Get(context.Background(), nil)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
DirectoryObjectCollectionResponse result = graphClient.groups().byGroupId("{group-id}").members().get();
const options = {
authProvider,
};
const client = Client.init(options);
let members = await client.api('/groups/{id}/members')
.version('beta')
.get();
<?php
use Microsoft\Graph\Beta\GraphServiceClient;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$result = $graphServiceClient->groups()->byGroupId('group-id')->members()->get()->wait();
Import-Module Microsoft.Graph.Beta.Groups
Get-MgBetaGroupMember -GroupId $groupId
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph_beta import GraphServiceClient
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
result = await graph_client.groups.by_group_id('group-id').members.get()
Resposta
O exemplo a seguir mostra a resposta.
Observação: o objeto de resposta mostrado aqui pode ser encurtado para legibilidade.
HTTP/1.1 200 OK
Content-type: application/json
{
"value": [
{
"id": "11111111-2222-3333-4444-555555555555",
"mail": "group1@contoso.com",
"mailEnabled": true,
"mailNickname": "Contoso1",
"securityEnabled": true
}
]
}
Exemplo 2: Obtenha apenas uma contagem de todos os membros
Solicitação
O exemplo a seguir mostra uma solicitação.
GET https://graph.microsoft.com/beta/groups/{id}/members/$count
ConsistencyLevel: eventual
Resposta
O exemplo a seguir mostra a resposta.
HTTP/1.1 200 OK
Content-type: text/plain
893
Exemplo 3: Utilize a conversão OData para obter apenas uma contagem da associação do usuário
Solicitação
O exemplo a seguir mostra uma solicitação.
GET https://graph.microsoft.com/beta/groups/{id}/members/microsoft.graph.user/$count
ConsistencyLevel: eventual
Resposta
O exemplo a seguir mostra a resposta.
HTTP/1.1 200 OK
Content-type: text/plain
893
Exemplo 4: Use $search e conversão de OData para obter a associação do usuário em grupos com nomes de exibição que contêm as letras 'Pr', incluindo uma contagem de objetos retornados
Solicitação
O exemplo a seguir mostra uma solicitação.
GET https://graph.microsoft.com/beta/groups/{id}/members/microsoft.graph.user?$count=true&$orderby=displayName&$search="displayName:Pr"&$select=displayName,id
ConsistencyLevel: eventual
// Code snippets are only available for the latest version. Current version is 5.x
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Groups["{group-id}"].Members.GraphUser.GetAsync((requestConfiguration) =>
{
requestConfiguration.QueryParameters.Count = true;
requestConfiguration.QueryParameters.Orderby = new string []{ "displayName" };
requestConfiguration.QueryParameters.Search = "\"displayName:Pr\"";
requestConfiguration.QueryParameters.Select = new string []{ "displayName","id" };
requestConfiguration.Headers.Add("ConsistencyLevel", "eventual");
});
// Code snippets are only available for the latest major version. Current major version is $v0.*
// Dependencies
import (
"context"
abstractions "github.com/microsoft/kiota-abstractions-go"
msgraphsdk "github.com/microsoftgraph/msgraph-beta-sdk-go"
graphgroups "github.com/microsoftgraph/msgraph-beta-sdk-go/groups"
//other-imports
)
headers := abstractions.NewRequestHeaders()
headers.Add("ConsistencyLevel", "eventual")
requestCount := true
requestSearch := "\"displayName:Pr\""
requestParameters := &graphgroups.ItemMembersGraph.userRequestBuilderGetQueryParameters{
Count: &requestCount,
Orderby: [] string {"displayName"},
Search: &requestSearch,
Select: [] string {"displayName","id"},
}
configuration := &graphgroups.ItemMembersGraph.userRequestBuilderGetRequestConfiguration{
Headers: headers,
QueryParameters: requestParameters,
}
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
graphUser, err := graphClient.Groups().ByGroupId("group-id").Members().GraphUser().Get(context.Background(), configuration)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
UserCollectionResponse result = graphClient.groups().byGroupId("{group-id}").members().graphUser().get(requestConfiguration -> {
requestConfiguration.queryParameters.count = true;
requestConfiguration.queryParameters.orderby = new String []{"displayName"};
requestConfiguration.queryParameters.search = "\"displayName:Pr\"";
requestConfiguration.queryParameters.select = new String []{"displayName", "id"};
requestConfiguration.headers.add("ConsistencyLevel", "eventual");
});
const options = {
authProvider,
};
const client = Client.init(options);
let user = await client.api('/groups/{id}/members/microsoft.graph.user')
.version('beta')
.header('ConsistencyLevel','eventual')
.search('displayName:Pr')
.select('displayName,id')
.orderby('displayName')
.get();
<?php
use Microsoft\Graph\Beta\GraphServiceClient;
use Microsoft\Graph\Beta\Generated\Groups\Item\Members\Graph\User\UserRequestBuilderGetRequestConfiguration;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestConfiguration = new GraphUserRequestBuilderGetRequestConfiguration();
$headers = [
'ConsistencyLevel' => 'eventual',
];
$requestConfiguration->headers = $headers;
$queryParameters = GraphUserRequestBuilderGetRequestConfiguration::createQueryParameters();
$queryParameters->count = true;
$queryParameters->orderby = ["displayName"];
$queryParameters->search = "\"displayName:Pr\"";
$queryParameters->select = ["displayName","id"];
$requestConfiguration->queryParameters = $queryParameters;
$result = $graphServiceClient->groups()->byGroupId('group-id')->members()->graphUser()->get($requestConfiguration)->wait();
Import-Module Microsoft.Graph.Beta.Groups
Get-MgBetaGroupMemberAsUser -GroupId $groupId -CountVariable CountVar -Sort "displayName" -Search '"displayName:Pr"' -Property "displayName,id" -ConsistencyLevel eventual
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph_beta import GraphServiceClient
from msgraph_beta.generated.groups.item.members.graph.user.user_request_builder import UserRequestBuilder
from kiota_abstractions.base_request_configuration import RequestConfiguration
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
query_params = UserRequestBuilder.UserRequestBuilderGetQueryParameters(
count = True,
orderby = ["displayName"],
search = "\"displayName:Pr\"",
select = ["displayName","id"],
)
request_configuration = RequestConfiguration(
query_parameters = query_params,
)
request_configuration.headers.add("ConsistencyLevel", "eventual")
result = await graph_client.groups.by_group_id('group-id').members.graph_user.get(request_configuration = request_configuration)
Resposta
O exemplo a seguir mostra a resposta.
Observação: o objeto de resposta mostrado aqui pode ser encurtado para legibilidade.
HTTP/1.1 200 OK
Content-type: application/json
{
"@odata.context":"https://graph.microsoft.com/beta/$metadata#users(displayName,id)",
"@odata.count":7,
"value":[
{
"displayName":"Joseph Price",
"id":"11111111-2222-3333-4444-555555555555"
},
{
"displayName":"Preston Morales",
"id":"11111111-2222-3333-4444-555555555555"
}
]
}
Exemplo 5: Utilize $filter para obter associação de grupo com um nome de exibição que começa com a letra 'A' incluindo uma contagem de objetos retornados
Solicitação
O exemplo a seguir mostra uma solicitação.
GET https://graph.microsoft.com/beta/groups/{id}/members?$count=true&$filter=startswith(displayName, 'a')
ConsistencyLevel: eventual
// Code snippets are only available for the latest version. Current version is 5.x
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Groups["{group-id}"].Members.GetAsync((requestConfiguration) =>
{
requestConfiguration.QueryParameters.Count = true;
requestConfiguration.QueryParameters.Filter = "startswith(displayName, 'a')";
requestConfiguration.Headers.Add("ConsistencyLevel", "eventual");
});
// Code snippets are only available for the latest major version. Current major version is $v0.*
// Dependencies
import (
"context"
abstractions "github.com/microsoft/kiota-abstractions-go"
msgraphsdk "github.com/microsoftgraph/msgraph-beta-sdk-go"
graphgroups "github.com/microsoftgraph/msgraph-beta-sdk-go/groups"
//other-imports
)
headers := abstractions.NewRequestHeaders()
headers.Add("ConsistencyLevel", "eventual")
requestCount := true
requestFilter := "startswith(displayName, 'a')"
requestParameters := &graphgroups.ItemMembersRequestBuilderGetQueryParameters{
Count: &requestCount,
Filter: &requestFilter,
}
configuration := &graphgroups.ItemMembersRequestBuilderGetRequestConfiguration{
Headers: headers,
QueryParameters: requestParameters,
}
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
members, err := graphClient.Groups().ByGroupId("group-id").Members().Get(context.Background(), configuration)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
DirectoryObjectCollectionResponse result = graphClient.groups().byGroupId("{group-id}").members().get(requestConfiguration -> {
requestConfiguration.queryParameters.count = true;
requestConfiguration.queryParameters.filter = "startswith(displayName, 'a')";
requestConfiguration.headers.add("ConsistencyLevel", "eventual");
});
const options = {
authProvider,
};
const client = Client.init(options);
let members = await client.api('/groups/{id}/members')
.version('beta')
.header('ConsistencyLevel','eventual')
.filter('startswith(displayName, \'a\')')
.get();
<?php
use Microsoft\Graph\Beta\GraphServiceClient;
use Microsoft\Graph\Beta\Generated\Groups\Item\Members\MembersRequestBuilderGetRequestConfiguration;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestConfiguration = new MembersRequestBuilderGetRequestConfiguration();
$headers = [
'ConsistencyLevel' => 'eventual',
];
$requestConfiguration->headers = $headers;
$queryParameters = MembersRequestBuilderGetRequestConfiguration::createQueryParameters();
$queryParameters->count = true;
$queryParameters->filter = "startswith(displayName, 'a')";
$requestConfiguration->queryParameters = $queryParameters;
$result = $graphServiceClient->groups()->byGroupId('group-id')->members()->get($requestConfiguration)->wait();
Import-Module Microsoft.Graph.Beta.Groups
Get-MgBetaGroupMember -GroupId $groupId -CountVariable CountVar -Filter "startswith(displayName, 'a')" -ConsistencyLevel eventual
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph_beta import GraphServiceClient
from msgraph_beta.generated.groups.item.members.members_request_builder import MembersRequestBuilder
from kiota_abstractions.base_request_configuration import RequestConfiguration
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
query_params = MembersRequestBuilder.MembersRequestBuilderGetQueryParameters(
count = True,
filter = "startswith(displayName, 'a')",
)
request_configuration = RequestConfiguration(
query_parameters = query_params,
)
request_configuration.headers.add("ConsistencyLevel", "eventual")
result = await graph_client.groups.by_group_id('group-id').members.get(request_configuration = request_configuration)
Resposta
O exemplo a seguir mostra a resposta.
Observação: o objeto de resposta mostrado aqui pode ser encurtado para legibilidade.
HTTP/1.1 200 OK
Content-type: application/json
{
"@odata.context":"https://graph.microsoft.com/beta/$metadata#groups",
"@odata.count":76,
"value":[
{
"displayName":"AAD Contoso Users",
"mail":"AADContoso_Users@contoso.com",
"mailEnabled":true,
"mailNickname":"AADContoso_Users",
"securityEnabled":true
}
]
}
Exemplo 6: Usar a conversão de OData para recuperar entidades de serviço adicionadas como membros do grupo
Solicitação
O exemplo a seguir mostra uma solicitação.
GET https://graph.microsoft.com/beta/groups/3802e9bb-0951-4e18-b9eb-f934b4241194/members/microsoft.graph.servicePrincipal
// Code snippets are only available for the latest version. Current version is 5.x
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Groups["{group-id}"].Members.GraphServicePrincipal.GetAsync();
// Code snippets are only available for the latest major version. Current major version is $v0.*
// Dependencies
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-beta-sdk-go"
//other-imports
)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
graphServicePrincipal, err := graphClient.Groups().ByGroupId("group-id").Members().GraphServicePrincipal().Get(context.Background(), nil)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
ServicePrincipalCollectionResponse result = graphClient.groups().byGroupId("{group-id}").members().graphServicePrincipal().get();
const options = {
authProvider,
};
const client = Client.init(options);
let servicePrincipal = await client.api('/groups/3802e9bb-0951-4e18-b9eb-f934b4241194/members/microsoft.graph.servicePrincipal')
.version('beta')
.get();
<?php
use Microsoft\Graph\Beta\GraphServiceClient;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$result = $graphServiceClient->groups()->byGroupId('group-id')->members()->graphServicePrincipal()->get()->wait();
Import-Module Microsoft.Graph.Beta.Groups
Get-MgBetaGroupMemberAsServicePrincipal -GroupId $groupId
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph_beta import GraphServiceClient
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
result = await graph_client.groups.by_group_id('group-id').members.graph_service_principal.get()
Resposta
O exemplo a seguir mostra a resposta.
Observação: o objeto de resposta mostrado aqui pode ser encurtado para legibilidade.
HTTP/1.1 200 OK
Content-type: application/json
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#servicePrincipals",
"value": [
{
"id": "11111111-2222-3333-4444-555555555555",
"deletedDateTime": null,
"accountEnabled": true,
"appDisplayName": "Contoso Azure App",
"appId": "11111111-2222-3333-4444-555555555555",
}
]
}