Agregue un miembro a un grupo de seguridad o de Microsoft 365. Al usar la API para agregar varios miembros en una solicitud, solo puede agregar hasta 20 miembros.
En la tabla siguiente se muestran los tipos de miembros que se pueden agregar a grupos de seguridad o grupos de Microsoft 365.
En la tabla siguiente se muestra el permiso con privilegios mínimos que requiere cada tipo de recurso al llamar a esta API. Para obtener más información, incluido cómo elegir permisos, vea Permisos.
En escenarios delegados, al usuario que ha iniciado sesión también se le debe asignar un rol de Microsoft Entra compatible o un rol personalizado con el permiso de microsoft.directory/groups/members/update rol. Se admiten los siguientes roles con privilegios mínimos para esta operación, excepto para los grupos que se pueden asignar roles:
Propietarios de grupos
Escritores de directorios
Administrador de grupos
Administrador de gobernanza de identidades
Administrador de usuarios
Administrador de Exchange: solo para grupos de Microsoft 365
Administrador de SharePoint: solo para grupos de Microsoft 365
Administrador de Teams: solo para grupos de Microsoft 365
Administrador de Yammer: solo para grupos de Microsoft 365
Administrador de Intune: solo para grupos de seguridad
Para agregar miembros a un grupo asignable a roles, a la aplicación también se le debe asignar el permiso RoleManagement.ReadWrite.Directory y al usuario que realiza la llamada se le debe asignar un rol de Microsoft Entra compatible.
Privileged Role Administrator es el rol con privilegios mínimos que se admite para esta operación.
Solicitud HTTP
POST /groups/{group-id}/members/$ref
POST /groups/{group-id}/members/
Al usar la /groups/{group-id}/members/$ref sintaxis, proporcione un objeto JSON que contenga una propiedad @odata.id con una referencia por identificador a un tipo de objeto miembro de grupo compatible.
Al usar la /groups/{group-id}/members sintaxis, proporcione un objeto JSON que contenga una members@odata.bind propiedad con una o varias referencias por identificadores a un tipo de objeto miembro de grupo compatible.
Si usa la referencia directoryObjects , es decir, https://graph.microsoft.com/v1.0/directoryObjects/{id}, el tipo de objeto debe seguir siendo un tipo de objeto miembro de grupo compatible.
Respuesta
Si se ejecuta correctamente, este método devuelve un código de respuesta 204 No Content. Devuelve un código de 400 Bad Request respuesta cuando el objeto ya es miembro del grupo o no es compatible como miembro del grupo. Devuelve un código de 404 Not Found respuesta cuando el objeto que se agrega no existe.
Ejemplos
Ejemplo 1: Agregar un miembro a un grupo
Solicitud
En el ejemplo siguiente se muestra una solicitud que usa la referencia directoryObjects para agregar un miembro a un grupo.
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)
En el cuerpo de la solicitud, proporcione una representación JSON del Id. de directoryObject, del usuario o del objeto de grupo que quiera agregar.
Respuesta
En el ejemplo siguiente se muestra la respuesta.
HTTP/1.1 204 No Content
Ejemplo 2: agregar varios miembros a un grupo en una sola solicitud
Este ejemplo muestra cómo agregar varios miembros a un grupo compatible con BIND de OData en una operación PATCH. Se pueden agregar hasta 20 miembros en una sola solicitud. No se admite la operación POST. Si existe una condición de error en el cuerpo de la solicitud, no se agregarán miembros y se devolverá el código de respuesta apropiado.
// 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)