Enumerar las pertenencias directas de un usuario

Espacio de nombres: microsoft.graph

Obtenga grupos, roles de directorio y unidades administrativas de las que el usuario sea un miembro directo. Esta operación no es transitiva. Para recuperar grupos, roles de directorio y unidades administrativas de los que el usuario es miembro a través de la pertenencia transitiva, use la API Enumerar usuario transitivo memberOf .

Permisos

Se requiere uno de los permisos siguientes para llamar a esta API. Para obtener más información, incluido cómo elegir permisos, vea Permisos.

Tipo de permiso Permisos (de menos a más privilegiados)
Delegado (cuenta profesional o educativa) User.Read, GroupMember.Read.All, Directory.Read.All, Directory.ReadWrite.All
Delegado (cuenta personal de Microsoft) No admitida.
Aplicación Directory.Read.All, Directory.ReadWrite.All

Nota: Para enumerar los miembros de un grupo con pertenencia oculta, se requiere el permiso Member.Read.Hidden.

Cuando una aplicación consulta una relación que devuelve una colección de tipos directoryObject , si no tiene permiso para leer un tipo derivado determinado (como dispositivo), se devuelven los miembros de ese tipo pero con información limitada. Con este comportamiento, las aplicaciones pueden solicitar los permisos con privilegios mínimos que necesitan, en lugar de depender del conjunto de directorios. *Permisos. Para información, consulte Información limitada devuelta para objetos de miembros inaccesibles.

Solicitud HTTP

GET /me/memberOf
GET /users/{id | userPrincipalName}/memberOf

Parámetros de consulta opcionales

Este método es compatible con los parámetros de consulta de OData para ayudar a personalizar la respuesta, incluyendo $search, $count, y $filter. La conversión de OData también está habilitada. Por ejemplo, puede realizar la conversión para obtener solo los roles de directorio de los que el usuario es miembro. Puede usar $search en la propiedad displayName. Cuando se agregan o actualizan elementos para este recurso, se indexan específicamente para usarse con los parámetros de consulta $count y $search. Puede producirse un leve retraso entre el momento en que se agrega o se actualiza un elemento y el momento en que está disponible en el índice.

Encabezados de solicitud

Encabezado Valor
Authorization Portador {token}. Obligatorio.
ConsistencyLevel eventual. Este encabezado y $count son requeridos al usar los parámetros de consulta $search, $filter, $orderby u OData. Usa un índice que podría no estar actualizado con los cambios recientes realizados en el objeto.

Cuerpo de la solicitud

No proporcione un cuerpo de solicitud para este método.

Respuesta

Si se ejecuta correctamente, este método devuelve un código de respuesta 200 OK y la colección de objetos directoryObject en el cuerpo de la respuesta.

Ejemplos

Ejempli 1: Conseguir grupos, roles de directorio y unidades administrativas de los que el usuario es miembro.

Solicitud

Aquí tiene un ejemplo de la solicitud.

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

Respuesta

Este es un ejemplo de la respuesta.

Nota: Se puede acortar el objeto de respuesta que se muestra aquí para mejorar la legibilidad.

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

{
  "value": [
    {
      "@odata.type": "#microsoft.graph.group",
      "displayName": "All Users",
      "mailEnabled": false,
      "securityEnabled": true
    }
  ]
}

Ejemplo 2: obtener solo un recuento de todos los grupos, roles de directorio y unidades administrativas de las que el usuario sea miembro directo

Solicitud

Aquí tiene un ejemplo de la solicitud.

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

Respuesta

Este es un ejemplo de la respuesta.

Nota: Se puede acortar el objeto de respuesta que se muestra aquí para mejorar la legibilidad.

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

17

Ejemplo 3: usar la conversión de OData para obtener solo un recuento de la pertenencia a grupos

Solicitud

Aquí tiene un ejemplo de la solicitud.

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

Respuesta

Este es un ejemplo de la respuesta.

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

16

Ejemplo 4: Use $search y OData cast para obtener membresía en grupos con nombres para mostrar que contienen las letras 'tier', incluido un recuento de objetos devueltos

Solicitud

Aquí tiene un ejemplo de la solicitud.

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

Respuesta

Este es un ejemplo de la respuesta.

Nota: Se puede acortar el objeto de respuesta que se muestra aquí para mejorar la legibilidad.

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"
    }
  ]
}

Ejemplo 5: Usar $filter y la difusión de OData para obtener un grupo con un nombre para mostrar que comience por 'A', incluido un recuento de los objetos devueltos

Solicitud

Aquí tiene un ejemplo de la solicitud.

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

Respuesta

Este es un ejemplo de la respuesta.

Nota: Se puede acortar el objeto de respuesta que se muestra aquí para mejorar la legibilidad.

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
    }
  ]
}