Compartir a través de


Enumerar las pertenencias de un usuario (directas y transitivas)

Espacio de nombres: microsoft.graph

Importante

Las API de la versión /beta de Microsoft Graph están sujetas a cambios. No se admite el uso de estas API en aplicaciones de producción. Para determinar si una API está disponible en la versión 1.0, use el selector de Versión.

Obtenga grupos, roles de directorio y unidades administrativas de las que el usuario es miembro a través de la pertenencia directa o transitiva.

Esta API está disponible en las siguientes implementaciones nacionales de nube.

Servicio global Gobierno de EE. UU. L4 Us Government L5 (DOD) China operada por 21Vianet

Permissions

Elija el permiso o los permisos marcados como con privilegios mínimos para esta API. Use un permiso o permisos con privilegios superiores solo si la aplicación lo requiere. Para obtener más información sobre los permisos delegados y de aplicación, consulte Tipos de permisos. Para obtener más información sobre estos permisos, consulte la referencia de permisos.

Permisos para las pertenencias del usuario que ha iniciado sesión

Tipo de permiso Permisos con privilegios mínimos Permisos con privilegios más altos
Delegado (cuenta profesional o educativa) User.Read Directory.Read.All, Directory.ReadWrite.All, Group.Read.All, GroupMember.Read.All, User.Read.All
Delegado (cuenta personal de Microsoft) No admitida. No admitida.
Aplicación No admitida. No admitida.

Permisos para las pertenencias de otro usuario

Tipo de permiso Permisos con privilegios mínimos Permisos con privilegios más altos
Delegado (cuenta profesional o educativa) User.Read.All Directory.Read.All, Directory.ReadWrite.All, Group.Read.All, GroupMember.Read.All
Delegado (cuenta personal de Microsoft) No admitida. No admitida.
Application User.Read.All Directory.Read.All, Directory.ReadWrite.All, Group.Read.All, GroupMember.Read.All

Importante

Cuando una aplicación consulta una relación que devuelve una colección de tipos directoryObject , si no tiene permiso para leer un tipo de recurso determinado, se devuelven miembros de ese tipo pero con información limitada. Por ejemplo, solo se devuelve la propiedad @odata.type para el tipo de objeto y el identificador , mientras que otras propiedades se indican como null. 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.

Sugerencia

  • Para llamar al punto de conexión /me/transitiveMemberOf, se requiere un usuario con la sesión iniciada y, por lo tanto, un permiso delegado. Los permisos de aplicación no se admiten cuando se usa el punto de /me/transitiveMemberOf conexión.
  • Para enumerar los miembros de un grupo con pertenencia oculta, se requiere el Member.Read.Hidden permiso.

Solicitud HTTP

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

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 $select, $search, y $count. La conversión de OData también está habilitada, por ejemplo, puede convertir para obtener solo la pertenencia transitiva en grupos. Puede usar $search en la propiedad displayName. Los tamaños de página predeterminado y máximo son 100 y 999 objetos, respectivamente.

Encabezados de solicitud

Encabezado Valor
Authorization {token} de portador. Obligatorio. Obtenga más información sobre la autenticación y la autorización.
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

Ejemplo 1: Obtención de grupos, roles de directorio y unidades administrativas de las que el usuario es miembro

Solicitud

En el ejemplo siguiente se muestra la solicitud.

GET https://graph.microsoft.com/beta/users/{id}/transitiveMemberOf

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

Ejemplo 2: Obtener solo un recuento de pertenencia transitiva en grupos, roles de directorio y unidades administrativas

Solicitud

Este es un ejemplo de la solicitud.

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

Respuesta

Este es un ejemplo de la respuesta:

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

893

Ejemplo 3: Usar la conversión de OData para obtener solo un recuento de la pertenencia transitiva en grupos

Solicitud

Este es un ejemplo de la solicitud.

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

Respuesta

Este es un ejemplo de la respuesta:

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

588

Ejemplo 4: Uso de $search y conversión de OData para obtener pertenencia transitiva en grupos con nombres para mostrar que contienen las letras "tier", incluido un recuento de objetos devueltos

Solicitud

Este es un ejemplo de la solicitud.

GET https://graph.microsoft.com/beta/users/{id}/transitiveMemberOf/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/beta/$metadata#groups(displayName,id)",
  "@odata.count":7,
  "value":[
    {
      "displayName":"Contoso-tier Query Notification",
      "id":"11111111-2222-3333-4444-555555555555"
    }
  ]
}

Ejemplo 5: Uso de $filter y conversión de OData para obtener la pertenencia transitiva a grupos con un nombre para mostrar que comienza por "a", incluido un recuento de objetos devueltos

Solicitud

Este es un ejemplo de la solicitud.

GET https://graph.microsoft.com/beta/users/{id}/transitiveMemberOf/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/beta/$metadata#groups",
  "@odata.count":76,
  "value":[
    {
      "displayName":"AAD Contoso Users",
      "mail":"AADContoso_Users@contoso.com",
      "mailEnabled":true,
      "mailNickname":"AADContoso_Users",
      "securityEnabled":true
    }
  ]
}