Ajouter un membre à un groupe de sécurité ou Microsoft 365. Lorsque vous utilisez l’API pour ajouter plusieurs membres dans une même requête, vous ne pouvez ajouter que 20 membres.
Le tableau suivant présente les types de membres qui peuvent être ajoutés à des groupes de sécurité ou à des groupes Microsoft 365.
Le tableau suivant montre l’autorisation la moins privilégiée requise par chaque type de ressource lors de l’appel de cette API. Pour plus d’informations, notamment sur la façon de choisir les autorisations, voir Autorisations.
Dans les scénarios délégués, l’utilisateur connecté doit également se voir attribuer un rôle Microsoft Entra pris en charge ou un rôle personnalisé avec l’autorisation de microsoft.directory/groups/members/update rôle. Les rôles les moins privilégiés suivants sont pris en charge pour cette opération, à l’exception des groupes assignables à un rôle :
Propriétaires de groupe
Rédacteurs d'annuaires
Administrateur de groupes
Administrateur de gouvernance des identités
Administrateur d’utilisateurs
Administrateur Exchange : uniquement pour les groupes Microsoft 365
Administrateur SharePoint : uniquement pour les groupes Microsoft 365
Administrateur Teams - uniquement pour les groupes Microsoft 365
Administrateur Yammer : uniquement pour les groupes Microsoft 365
Administrateur Intune : uniquement pour les groupes de sécurité
Pour ajouter des membres à un groupe assignable à un rôle, l’application doit également recevoir l’autorisation RoleManagement.ReadWrite.Directory et l’utilisateur appelant doit se voir attribuer un rôle Microsoft Entra pris en charge.
Administrateur de rôle privilégié est le rôle le moins privilégié pris en charge pour cette opération.
Requête HTTP
POST /groups/{group-id}/members/$ref
POST /groups/{group-id}/members/
Lorsque vous utilisez la /groups/{group-id}/members/$ref syntaxe , fournissez un objet JSON qui contient une propriété @odata.id avec une référence par ID à un type d’objet membre de groupe pris en charge.
Lorsque vous utilisez la /groups/{group-id}/members syntaxe , fournissez un objet JSON qui contient une propriété avec une members@odata.bind ou plusieurs références par ID à un type d’objet membre de groupe pris en charge.
Si vous utilisez la référence directoryObjects , autrement dit , https://graph.microsoft.com/v1.0/directoryObjects/{id}le type d’objet doit toujours être un type d’objet membre de groupe pris en charge.
Réponse
Si elle réussit, cette méthode renvoie un code de réponse 204 No Content. Elle retourne un 400 Bad Request code de réponse lorsque l’objet est déjà membre du groupe ou n’est pas pris en charge en tant que membre du groupe. Elle retourne un 404 Not Found code de réponse lorsque l’objet ajouté n’existe pas.
Exemples
Exemple 1: Ajouter un membre à un groupe
Demande
L’exemple suivant montre une requête qui utilise la référence directoryObjects pour ajouter un membre à un groupe.
POST https://graph.microsoft.com/v1.0/groups/{group-id}/members/$ref
Content-type: application/json
{
"@odata.id": "https://graph.microsoft.com/v1.0/directoryObjects/{id}"
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Models;
var requestBody = new ReferenceCreate
{
OdataId = "https://graph.microsoft.com/v1.0/directoryObjects/{id}",
};
// To initialize your graphClient, see https://video2.skills-academy.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
await graphClient.Groups["{group-id}"].Members.Ref.PostAsync(requestBody);
// Code snippets are only available for the latest major version. Current major version is $v1.*
// Dependencies
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-sdk-go"
graphmodels "github.com/microsoftgraph/msgraph-sdk-go/models"
//other-imports
)
requestBody := graphmodels.NewReferenceCreate()
odataId := "https://graph.microsoft.com/v1.0/directoryObjects/{id}"
requestBody.SetOdataId(&odataId)
// To initialize your graphClient, see https://video2.skills-academy.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
graphClient.Groups().ByGroupId("group-id").Members().Ref().Post(context.Background(), requestBody, nil)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
com.microsoft.graph.models.ReferenceCreate referenceCreate = new com.microsoft.graph.models.ReferenceCreate();
referenceCreate.setOdataId("https://graph.microsoft.com/v1.0/directoryObjects/{id}");
graphClient.groups().byGroupId("{group-id}").members().ref().post(referenceCreate);
<?php
use Microsoft\Graph\GraphServiceClient;
use Microsoft\Graph\Generated\Models\ReferenceCreate;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new ReferenceCreate();
$requestBody->setOdataId('https://graph.microsoft.com/v1.0/directoryObjects/{id}');
$graphServiceClient->groups()->byGroupId('group-id')->members()->ref()->post($requestBody)->wait();
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph import GraphServiceClient
from msgraph.generated.models.reference_create import ReferenceCreate
# To initialize your graph_client, see https://video2.skills-academy.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = ReferenceCreate(
odata_id = "https://graph.microsoft.com/v1.0/directoryObjects/{id}",
)
await graph_client.groups.by_group_id('group-id').members.ref.post(request_body)
Dans le corps de la demande, fournissez une représentation JSON de l’id de l’objet du directoryObject, de l’utilisateur ou du groupe que vous souhaitez ajouter.
Réponse
L’exemple suivant illustre la réponse.
HTTP/1.1 204 No Content
Exemple 2 : Ajouter plusieurs membres à un groupe dans une seule demande
Cet exemple montre comment ajouter plusieurs membres à un groupe avec le support de la liaison OData dans une opération de correctif. Jusqu’à 20 membres peuvent être ajoutés dans une seule requête. L’opération POST n’est pas prise en charge. Si une condition d’erreur existe dans le corps de la demande, nous n’ajouterons aucun membre et renverrons le code de réponse approprié.
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Models;
var requestBody = new Group
{
AdditionalData = new Dictionary<string, object>
{
{
"members@odata.bind" , new List<string>
{
"https://graph.microsoft.com/v1.0/directoryObjects/{id}",
"https://graph.microsoft.com/v1.0/directoryObjects/{id}",
"https://graph.microsoft.com/v1.0/directoryObjects/{id}",
}
},
},
};
// To initialize your graphClient, see https://video2.skills-academy.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Groups["{group-id}"].PatchAsync(requestBody);
// Code snippets are only available for the latest major version. Current major version is $v1.*
// Dependencies
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-sdk-go"
graphmodels "github.com/microsoftgraph/msgraph-sdk-go/models"
//other-imports
)
requestBody := graphmodels.NewGroup()
additionalData := map[string]interface{}{
odataBind := []string {
"https://graph.microsoft.com/v1.0/directoryObjects/{id}",
"https://graph.microsoft.com/v1.0/directoryObjects/{id}",
"https://graph.microsoft.com/v1.0/directoryObjects/{id}",
}
}
requestBody.SetAdditionalData(additionalData)
// To initialize your graphClient, see https://video2.skills-academy.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
groups, err := graphClient.Groups().ByGroupId("group-id").Patch(context.Background(), requestBody, nil)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
Group group = new Group();
HashMap<String, Object> additionalData = new HashMap<String, Object>();
LinkedList<String> membersOdataBind = new LinkedList<String>();
membersOdataBind.add("https://graph.microsoft.com/v1.0/directoryObjects/{id}");
membersOdataBind.add("https://graph.microsoft.com/v1.0/directoryObjects/{id}");
membersOdataBind.add("https://graph.microsoft.com/v1.0/directoryObjects/{id}");
additionalData.put("members@odata.bind", membersOdataBind);
group.setAdditionalData(additionalData);
Group result = graphClient.groups().byGroupId("{group-id}").patch(group);
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph import GraphServiceClient
from msgraph.generated.models.group import Group
# To initialize your graph_client, see https://video2.skills-academy.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = Group(
additional_data = {
"members@odata_bind" : [
"https://graph.microsoft.com/v1.0/directoryObjects/{id}",
"https://graph.microsoft.com/v1.0/directoryObjects/{id}",
"https://graph.microsoft.com/v1.0/directoryObjects/{id}",
],
}
)
result = await graph_client.groups.by_group_id('group-id').patch(request_body)
Dans le corps de la demande, fournissez une représentation JSON de l’id de l’objet du directoryObject, de l’utilisateur ou du groupe que vous souhaitez ajouter.