Partager via


directoryObject : getMemberGroups

Espace de noms: microsoft.graph

Retourne tous les ID de groupe pour les groupes dont l’utilisateur, le groupe, le principal de service, le contact organisationnel, l’appareil ou l’objet d’annuaire spécifiés est membre. Cette fonction est transitive.

Cette API retourne jusqu’à 11 000 ID de groupe. Si plus de 11 000 résultats sont disponibles, il retourne une 400 Bad Request erreur avec le Directory_ResultSizeLimitExceeded code d’erreur. Si vous obtenez le Directory_ResultSizeLimitExceeded code d’erreur, utilisez plutôt l’API List group transitive memberOf .

Cette API est disponible dans les déploiements de cloud national suivants.

Service global Gouvernement des États-Unis L4 Us Government L5 (DOD) Chine gérée par 21Vianet

Autorisations

L’une des autorisations suivantes est nécessaire pour appeler cette API. Pour plus d’informations, notamment sur la façon de choisir les autorisations, voir Autorisations.

Appartenances de groupe pour un objet d’annuaire

Ici, l’autorisation vous permet de lire n’importe quel objet de répertoire, quel que soit le type d’objet. Pour limiter l’opération à un type d’objet spécifique et utiliser des autorisations moins privilégiées, reportez-vous aux autres tables d’autorisations de cette page.

Type d’autorisation Autorisations (de celle qui offre le plus de privilèges à celle qui en offre le moins)
Déléguée (compte professionnel ou scolaire) Directory.Read.All
Déléguée (compte Microsoft personnel) Non prise en charge.
Application Directory.Read.All

Appartenances à un groupe pour un utilisateur

Type d’autorisation Autorisations (de celle qui offre le plus de privilèges à celle qui en offre le moins)
Déléguée (compte professionnel ou scolaire) User.ReadBasic.All et GroupMember.Read.All, User.Read.All et GroupMember.Read.All, User.ReadBasic.All et Group.Read.All, User.Read.All et Group.Read.All, Directory.Read.All
Déléguée (compte Microsoft personnel) Non prise en charge.
Application User.ReadBasic.All et GroupMember.Read.All, User.Read.All et GroupMember.Read.All, User.ReadBasic.All et Group.Read.All, User.Read.All et Group.Read.All, Directory.Read.All

Appartenances à un groupe pour un groupe

Type d’autorisation Autorisations (de celle qui offre le plus de privilèges à celle qui en offre le moins)
Déléguée (compte professionnel ou scolaire) GroupMember.Read.All, Group.Read.All, Directory.Read.All, Group.ReadWrite.All, Directory.ReadWrite.All
Déléguée (compte Microsoft personnel) Non prise en charge.
Application GroupMember.Read.All, Group.Read.All, Directory.Read.All, Group.ReadWrite.All, Directory.ReadWrite.All

Appartenances de groupe pour un principal de service

Type d’autorisation Autorisations (de celle qui offre le plus de privilèges à celle qui en offre le moins)
Déléguée (compte professionnel ou scolaire) Application.Read.All, Application.ReadWrite.All, Directory.Read.All, Directory.ReadWrite.All
Déléguée (compte Microsoft personnel) Non prise en charge.
Application Application.Read.All, Application.ReadWrite.All, Directory.Read.All, Directory.ReadWrite.All

Appartenances à un groupe pour un contact organisationnel

Type d’autorisation Autorisations (de celle qui offre le plus de privilèges à celle qui en offre le moins)
Déléguée (compte professionnel ou scolaire) Directory.Read.All, Directory.ReadWrite.All
Déléguée (compte Microsoft personnel) Non prise en charge.
Application Directory.Read.All, Directory.ReadWrite.All

Appartenances à un groupe pour un appareil

Type d’autorisation Autorisations avec privilèges minimum Autorisations privilégiées plus élevées
Déléguée (compte professionnel ou scolaire) Application.Read.All Application.ReadWrite.All, Device.Read.All, Directory.Read.All, Directory.ReadWrite.All, Group.Read.All, Group.ReadWrite.All, GroupMember.Read.All, User.Read.All
Déléguée (compte Microsoft personnel) Non prise en charge. Non prise en charge.
Application Application.Read.All Application.ReadWrite.All, Device.Read.All, Directory.Read.All, Directory.ReadWrite.All, Group.Read.All, Group.ReadWrite.All, GroupMember.Read.All, User.Read.All

Requête HTTP

Appartenances à un groupe pour un objet d’annuaire (utilisateur, groupe, principal de service ou contact organisationnel).

POST /directoryObjects/{id}/getMemberGroups

Appartenances de groupe pour l’utilisateur connecté ou d’autres utilisateurs.

POST /me/getMemberGroups
POST /users/{id | userPrincipalName}/getMemberGroups

Appartenances à un groupe.

POST /groups/{id}/getMemberGroups

Appartenances de groupe pour un principal de service.

POST /servicePrincipals/{id}/getMemberGroups

Appartenances à un groupe pour un contact organisationnel.

POST /contacts/{id}/getMemberGroups

Appartenances de groupe pour un appareil.

POST /devices/{id}/getMemberGroups

En-têtes de demande

Nom Description
Autorisation Porteur {token}. Obligatoire. En savoir plus sur l’authentification et l’autorisation.
Content-Type application/json

Corps de la demande

Dans le corps de la demande, indiquez un objet JSON avec les paramètres suivants.

Paramètre Type Description
securityEnabledOnly Boolean true pour spécifier que seuls les groupes de sécurité dont l’entité est membre doivent être retournés ; false pour spécifier que tous les groupes et rôles d’annuaire dont l’entité est membre doivent être retournés. true peut être spécifié uniquement pour les utilisateurs ou les principaux de service afin de retourner des groupes prenant en charge la sécurité.

Réponse

Si elle réussit, cette méthode renvoie un code de réponse 200 OK et un objet de collection de chaînes dans le corps de la réponse.

Exemples

Exemple 1 : Vérifier les appartenances à un groupe pour un objet d’annuaire

Demande

POST https://graph.microsoft.com/v1.0/directoryObjects/0049d944-a805-4680-9f54-3ab292090309/getMemberGroups
Content-type: application/json

{
    "securityEnabledOnly": false
}

Réponse

L’exemple suivant illustre la réponse.

Remarque : l’objet de réponse affiché ci-après peut être raccourci pour plus de lisibilité.

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

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#Collection(Edm.String)",
    "value": [
        "a8daa1fb-d24c-47d0-9e9e-c99e83394e3e"
    ]
}

Exemple 2 : Vérifier les appartenances aux groupes de l’utilisateur connecté

Demande

POST https://graph.microsoft.com/v1.0/me/getMemberGroups
Content-type: application/json

{
  "securityEnabledOnly": true
}

Réponse

Remarque : l’objet de réponse affiché ci-après peut être raccourci pour plus de lisibilité.

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

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#Collection(Edm.String)",
    "value": [
        "6239671a-0db6-4e8b-9d2f-f280efb5a181",
        "2e2f1227-1586-45ae-bf51-fccc1de72625",
        "1dae9306-be75-4c3c-99ec-0316a4342c84",
        "0e2d1bbb-76f8-4140-bda7-2a858b74507e",
        "0049d944-a805-4680-9f54-3ab292090309",
        "a8daa1fb-d24c-47d0-9e9e-c99e83394e3e",
        "6f204729-1b8f-4067-bcc9-98fb6c069ffd",
        "59afd38d-441a-4358-b074-8b9b1e7de52f",
        "64ed3df3-53c7-4d4d-ac5c-5c8dd4dafe33",
        "8b676bab-4b1e-419e-a253-7f5aca97d739",
        "be4ef325-9fa8-40d7-b375-4758853ddf52",
        "f5987b5a-61f6-4c31-9fa2-7bfb845c8d2a"
    ]
}