Freigeben über


Auflisten der Mitgliedschaften eines Benutzers (direkt und transitiv)

Namespace: microsoft.graph

Wichtig

Die APIs unter der /beta Version in Microsoft Graph können sich ändern. Die Verwendung dieser APIs in Produktionsanwendungen wird nicht unterstützt. Um festzustellen, ob eine API in v1.0 verfügbar ist, verwenden Sie die Version Selektor.

Ruft Gruppen, Verzeichnisrollen und Verwaltungseinheiten ab, in denen der Benutzer Mitglied ist, entweder durch direkte oder transitive Mitgliedschaft.

Diese API ist in den folgenden nationalen Cloudbereitstellungen verfügbar.

Weltweiter Service US Government L4 US Government L5 (DOD) China, betrieben von 21Vianet

Berechtigungen

Wählen Sie die Berechtigung oder Berechtigungen aus, die für diese API als am wenigsten privilegiert markiert sind. Verwenden Sie eine höhere Berechtigung oder Berechtigungen nur, wenn Ihre App dies erfordert. Ausführliche Informationen zu delegierten Berechtigungen und Anwendungsberechtigungen finden Sie unter Berechtigungstypen. Weitere Informationen zu diesen Berechtigungen finden Sie in der Berechtigungsreferenz.

Berechtigungen für die Mitgliedschaften des angemeldeten Benutzers

Berechtigungstyp Berechtigungen mit den geringsten Berechtigungen Berechtigungen mit höheren Berechtigungen
Delegiert (Geschäfts-, Schul- oder Unikonto) User.Read Directory.Read.All, Directory.ReadWrite.All, Group.Read.All, GroupMember.Read.All, User.Read.All
Delegiert (persönliches Microsoft-Konto) Nicht unterstützt Nicht unterstützt
Anwendung Nicht unterstützt Nicht unterstützt

Berechtigungen für die Mitgliedschaften eines anderen Benutzers

Berechtigungstyp Berechtigungen mit den geringsten Berechtigungen Berechtigungen mit höheren Berechtigungen
Delegiert (Geschäfts-, Schul- oder Unikonto) User.Read.All Directory.Read.All, Directory.ReadWrite.All, Group.Read.All, GroupMember.Read.All
Delegiert (persönliches Microsoft-Konto) Nicht unterstützt Nicht unterstützt
Application User.Read.All Directory.Read.All, Directory.ReadWrite.All, Group.Read.All, GroupMember.Read.All

Wichtig

Wenn eine Anwendung eine Beziehung abfragt, die eine directoryObject-Typauflistung zurückgibt, wenn sie nicht über die Berechtigung zum Lesen eines bestimmten Ressourcentyps verfügt, werden Member dieses Typs zurückgegeben, aber mit eingeschränkten Informationen. Beispielsweise wird nur die @odata.type-Eigenschaft für den Objekttyp und die ID zurückgegeben, während andere Eigenschaften als nullangegeben werden. Mit diesem Verhalten können Anwendungen die am wenigsten privilegierten Berechtigungen anfordern, die sie benötigen, anstatt sich auf den Satz von Verzeichnis zu verlassen.*Erlaubnisse. Einzelheiten finden Sie unter Eingeschränkte Informationen, die für nicht zugängliche Mitgliedsobjekte zurückgegeben werden.

Tipp

  • Das Aufrufen des /me/transitiveMemberOf-Endpunkts erfordert einen angemeldeten Benutzer und daher eine delegierte Berechtigung. Anwendungsberechtigungen werden nicht unterstützt, wenn Sie den /me/transitiveMemberOf Endpunkt verwenden.
  • Um die Mitglieder einer Gruppe mit ausgeblendeter Mitgliedschaft aufzulisten, ist die Member.Read.Hidden Berechtigung erforderlich.

HTTP-Anforderung

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

Optionale Abfrageparameter

Diese Methode unterstützt die OData-Abfrageparameter zur Anpassung der Antwort, einschließlich $select, $search und $count. Die OData-Umwandlung ist ebenfalls aktiviert, z. B. können Sie eine Umwandlung ausführen, um nur die transitive Mitgliedschaft in Gruppen zu erhalten. Sie können $search auf die Eigenschaft displayName verwenden. Die Standard- und maximale Seitengröße beträgt 100 bzw. 999 Objekte.

Anforderungsheader

Kopfzeile Wert
Authorization Bearer {token}. Erforderlich. Weitere Informationen zu Authentifizierung und Autorisierung.
ConsistencyLevel schließlich. Diese Kopfzeile und $count sind bei Verwendung der Abfrageparameter $search, $filter, $orderby oder OData-Cast erforderlich. Es wird ein Index verwendet, der möglicherweise nicht auf dem neuesten Stand der jüngsten Änderungen am Objekt ist.

Anforderungstext

Geben Sie keinen Anforderungstext für diese Methode an.

Antwort

Wenn die Methode erfolgreich verläuft, werden der Antwortcode 200 OK und eine Sammlung von directoryObject-Objekten im Antworttext zurückgegeben.

Beispiele

Beispiel 1: Abrufen von Gruppen, Verzeichnisrollen und Verwaltungseinheiten, in denen der Benutzer Mitglied ist

Anforderung

Das folgende Beispiel zeigt eine Anfrage.

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

Antwort

Hier ist ein Beispiel für die Antwort.

Hinweis: Das hier gezeigte Antwortobjekt kann zur besseren Lesbarkeit gekürzt werden.

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

Beispiel 2: Abrufen der Anzahl der transitiven Mitgliedschaften in Gruppen, Verzeichnisrollen und Verwaltungseinheiten

Anforderung

Hier sehen Sie ein Beispiel für die Anforderung.

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

Antwort

Hier ist ein Beispiel für die Antwort.

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

893

Beispiel 3: OData-Besetzung verwenden, um nur die Anzahl transitiven Mitgliedschaften in Gruppen zu erhalten

Anforderung

Hier sehen Sie ein Beispiel für die Anforderung.

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

Antwort

Hier ist ein Beispiel für die Antwort.

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

588

Beispiel 4: Verwenden sie $search- und OData-Umwandlung, um transitive Mitgliedschaften in Gruppen mit Anzeigenamen zu erhalten, die die Buchstaben "tier" enthalten, einschließlich der Anzahl zurückgegebener Objekte

Anforderung

Hier sehen Sie ein Beispiel für die Anforderung.

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

Antwort

Hier ist ein Beispiel für die Antwort.

Hinweis: Das hier gezeigte Antwortobjekt kann zur besseren Lesbarkeit gekürzt werden.

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

Beispiel 5: Verwenden sie $filter- und OData-Umwandlung, um transitive Mitgliedschaften in Gruppen mit einem Anzeigenamen zu erhalten, der mit "a" beginnt, einschließlich der Anzahl der zurückgegebenen Objekte

Anforderung

Hier sehen Sie ein Beispiel für die Anforderung.

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

Antwort

Hier ist ein Beispiel für die Antwort.

Hinweis: Das hier gezeigte Antwortobjekt kann zur besseren Lesbarkeit gekürzt werden.

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