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