Listar as associações de um usuário (direta e transitiva)

Namespace: microsoft.graph

Obtenha grupos, funções de diretório e unidades administrativas das quais o usuário é membro por meio de associação direta ou 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.

Permissões para as associações do usuário conectado

Tipo de permissão Permissões menos privilegiadas Permissões com privilégios mais elevados
Delegado (conta corporativa ou de estudante) User.Read Directory.Read.All, Directory.ReadWrite.All, Group.Read.All, GroupMember.Read.All, User.Read.All
Delegado (conta pessoal da Microsoft) Sem suporte. Sem suporte.
Aplicativo Sem suporte. Sem suporte.

Permissões para associações de outro usuário

Tipo de permissão Permissões menos privilegiadas Permissões com privilégios mais elevados
Delegado (conta corporativa ou de estudante) User.Read.All Directory.Read.All, Directory.ReadWrite.All, Group.Read.All, GroupMember.Read.All
Delegado (conta pessoal da Microsoft) Sem suporte. Sem suporte.
Aplicativo User.Read.All Directory.Read.All, Directory.ReadWrite.All, Group.Read.All, GroupMember.Read.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.

Dica

  • Chamar o ponto de extremidade /me/transitiveMemberOf exige um usuário conectado e, portanto, uma permissão delegada. Não há suporte para permissões de aplicativo quando você usa o /me/transitiveMemberOf ponto de extremidade.
  • A permissão é necessária para listar os membros de um grupo com associação Member.Read.Hidden oculta.

Solicitação HTTP

GET /me/transitiveMemberOf

Observação

Chamar o ponto de extremidade /me exige um usuário conectado e, portanto, uma permissão delegada. Não há suporte para permissões de aplicativo ao usar o /me ponto de extremidade.

GET /users/{id | userPrincipalName}/transitiveMemberOf

Parâmetros de consulta opcionais

Esse método dá suporte aos $filterparâmetros de consulta ,$count, $select$search$top , , OData para ajudar a personalizar a resposta.

  • A conversão OData também está habilitada. Por exemplo, você pode converter para obter apenas a associação transitiva em grupos.
  • $search tem suporte apenas na propriedade displayName .
  • O tamanho de página padrão e máximo é de 100 e 999 objetos, respectivamente.
  • O uso de parâmetros de consulta com essa API só é 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.

Cabeçalhos de solicitação

Cabeçalho Valor
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.

Exemplos

Exemplo 1: obter grupos, funções de diretório e unidades administrativas das quais o usuário é membro

Solicitação

O exemplo a seguir mostra uma solicitação.

GET https://graph.microsoft.com/v1.0/users/6e7b768e-07e2-4810-8459-485f84f8f204/transitiveMemberOf

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/v1.0/$metadata#directoryObjects",
  "value":[
    {
      "@odata.type":"#microsoft.graph.group",
      "displayName":"All_Contoso_Licensing",
      "mailEnabled":true,
      "mailNickname":"ContosoMailNickName",
      "securityEnabled":true
    }
  ]
}

Exemplo 2: Obter apenas uma contagem de associação transitiva em grupos, funções de diretório e unidades administrativas

Solicitação

O exemplo a seguir mostra uma solicitação.

GET https://graph.microsoft.com/v1.0/users/{id}/transitiveMemberOf/$count
ConsistencyLevel: eventual

Resposta

O exemplo a seguir mostra a resposta.

HTTP/1.1 200 OK
Content-type: text/plain

893

Exemplo 3: Usar a conversão OData para obter apenas uma contagem de associação transitiva em grupos

Solicitação

O exemplo a seguir mostra uma solicitação.

GET https://graph.microsoft.com/v1.0/users/{id}/transitiveMemberOf/microsoft.graph.group/$count
ConsistencyLevel: eventual

Resposta

O exemplo a seguir mostra a resposta.

HTTP/1.1 200 OK
Content-type: text/plain

588

Exemplo 4: Use $search e conversão de OData para obter associação transitiva em grupos com nomes de exibição que contêm as letras 'camada', incluindo uma contagem de objetos retornados

Solicitação

O exemplo a seguir mostra uma solicitação.

GET https://graph.microsoft.com/v1.0/users/{id}/transitiveMemberOf/microsoft.graph.group?$count=true&$orderby=displayName&$search="displayName:tier"&$select=displayName,id
ConsistencyLevel: eventual

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/v1.0/$metadata#groups(displayName,id)",
  "@odata.count":7,
  "value":[
    {
      "displayName":"Contoso-tier Query Notification",
      "id":"11111111-2222-3333-4444-555555555555"
    }
  ]
}

Exemplo 5: use $filter e conversão de OData para obter associação transitiva em grupos com um nome de exibição que começa com "a", incluindo uma contagem de objetos retornados

Solicitação

O exemplo a seguir mostra uma solicitação.

GET https://graph.microsoft.com/v1.0/users/{id}/transitiveMemberOf/microsoft.graph.group?$count=true&$orderby=displayName&$filter=startswith(displayName, 'a')
ConsistencyLevel: eventual

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/v1.0/$metadata#groups",
  "@odata.count":76,
  "value":[
    {
      "displayName":"AAD Contoso Users",
      "mail":"AADContoso_Users@contoso.com",
      "mailEnabled":true,
      "mailNickname":"AADContoso_Users",
      "securityEnabled":true
    }
  ]
}