Créez un groupe comme spécifié dans le corps de la demande. Vous pouvez créer les types de groupes suivants :
Groupe Microsoft 365 (groupe unifié)
Groupe de sécurité
Cette opération renvoie par défaut uniquement un sous-ensemble de propriétés pour chaque groupe. Ces propriétés par défaut sont indiquées dans la section Propriétés.
Pour obtenir des propriétés qui ne sont pas renvoyées par défaut, effectuez une opération GET et spécifiez les propriétés dans une option de requête OData $select.
Remarque : Bien que Microsoft Teams soit basé sur les groupes Microsoft 365, vous ne pouvez pas créer actuellement d’équipe via cette API. Vous pouvez utiliser les API de l’autre groupe pour gérer une équipe qui a été créée dans l’interface utilisateur de Microsoft Teams.
Pour qu’une application crée un groupe avec des propriétaires ou des membres alors qu’elle dispose de l’autorisation Group.Create , l’application doit disposer des privilèges nécessaires pour lire le type d’objet qu’elle souhaite attribuer en tant que propriétaire ou membre du groupe. Donc:
L’application peut s’attribuer en tant que propriétaire ou membre du groupe.
Pour créer le groupe avec des utilisateurs en tant que propriétaires ou membres, l’application doit disposer au moins de l’autorisation User.Read.All .
Pour créer le groupe avec d’autres principaux de service en tant que propriétaires ou membres, l’application doit avoir au moins l’autorisation Application.Read.All .
Pour créer le groupe avec des utilisateurs ou des principaux de service en tant que propriétaires ou membres, l’application doit disposer au moins de l’autorisation Directory.Read.All .
Dans le corps de la demande, fournissez une représentation JSON de l’objet groupe.
Le tableau suivant répertorie les propriétés qui sont requises lorsque vous créez le groupe. Spécifiez d’autres propriétés accessibles en écriture selon les besoins de votre groupe.
Propriété
Type
Description
displayName
Chaîne
Nom à afficher dans le carnet d’adresses pour le groupe. Longueur maximale : 256 caractères. Obligatoire.
mailEnabled
Boolean
Définissez sur true pour les groupes à extension messagerie. Obligatoire.
mailNickname
String
Alias de messagerie du groupe, unique pour Microsoft 365 de l’organisation. Longueur maximale : 64 caractères. Cette propriété ne peut contenir que des caractères dans le jeu de caractères ASCII 0 – 127, sauf les caractères suivants : @ () \ [] " ; : <> , SPACE. Obligatoire.
securityEnabled
Boolean
Définissez sur true pour les groupes à sécurité activée, y compris les groupes Microsoft 365. Obligatoire.
Remarque : Groupes créées à l’aide de l’centre d’administration Microsoft Entra ou du Portail Azure ont toujours la valeur initiale de securityEnabled définie sur true.
Importante
La création d’un groupe à l’aide de l’autorisation Group.Create application sans spécifier de propriétaires crée le groupe anonymement et le groupe n’est pas modifiable. Ajoutez des propriétaires au groupe lors de sa création afin que les propriétaires puissent gérer le groupe.
La création d’un groupe Microsoft 365 dans un contexte d’application uniquement et sans spécifier de propriétaires crée le groupe de manière anonyme. Cette opération peut entraîner une création non automatique du site SharePoint Online associé et une obligation d’action manuelle.
La création d’un groupe microsoft 365 ou de sécurité dans un contexte délégué, connecté en tant qu’utilisateur non administrateur et sans spécifier de propriétaires ajoute automatiquement l’utilisateur appelant en tant que propriétaire du groupe. Un utilisateur administrateur est automatiquement ajouté en tant que propriétaire du groupe Microsoft 365 qu’il crée, mais pas d’un groupe de sécurité.
Un utilisateur non administrateur ne peut pas s’ajouter à la collection propriétaires du groupe. Pour plus d’informations, consultez le problème connu associé.
Les propriétés suivantes ne peuvent pas être définies dans la demande POST initiale et doivent être définies dans une demande PATCH en suivant : allowExternalSenders, autoSubscribeNewMembers, hideFromAddressLists, hideFromOutlookClients, isSubscribedByMail, unseenCount.
Options de groupTypes
Utilisez la propriété groupTypes pour contrôler le type de groupe et ses membres, comme illustré.
Type de groupe
Appartenance attribuée
Appartenance dynamique
Microsoft 365 (groupe unifié)
["Unified"]
["Unified","DynamicMembership"]
Dynamique
[] (null)
["DynamicMembership"]
Réponse
Si elle réussit, cette méthode renvoie un code de réponse 201 Created et un objet group dans le corps de la réponse. La réponse inclut uniquement les propriétés par défaut du groupe.
範例
Exemple 1 : créer un groupe Microsoft 365
L’exemple suivant permet de créer un groupe Microsoft 365. Étant donné que les propriétaires n’ont pas été spécifiés, l’utilisateur appelant est automatiquement ajouté en tant que propriétaire du groupe.
POST https://graph.microsoft.com/v1.0/groups
Content-type: application/json
{
"description": "Self help community for library",
"displayName": "Library Assist",
"groupTypes": [
"Unified"
],
"mailEnabled": true,
"mailNickname": "library",
"securityEnabled": false
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Models;
var requestBody = new Group
{
Description = "Self help community for library",
DisplayName = "Library Assist",
GroupTypes = new List<string>
{
"Unified",
},
MailEnabled = true,
MailNickname = "library",
SecurityEnabled = false,
};
// 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.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.NewGroup()
description := "Self help community for library"
requestBody.SetDescription(&description)
displayName := "Library Assist"
requestBody.SetDisplayName(&displayName)
groupTypes := []string {
"Unified",
}
requestBody.SetGroupTypes(groupTypes)
mailEnabled := true
requestBody.SetMailEnabled(&mailEnabled)
mailNickname := "library"
requestBody.SetMailNickname(&mailNickname)
securityEnabled := false
requestBody.SetSecurityEnabled(&securityEnabled)
// To initialize your graphClient, see https://video2.skills-academy.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
groups, err := graphClient.Groups().Post(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();
group.setDescription("Self help community for library");
group.setDisplayName("Library Assist");
LinkedList<String> groupTypes = new LinkedList<String>();
groupTypes.add("Unified");
group.setGroupTypes(groupTypes);
group.setMailEnabled(true);
group.setMailNickname("library");
group.setSecurityEnabled(false);
Group result = graphClient.groups().post(group);
<?php
use Microsoft\Graph\GraphServiceClient;
use Microsoft\Graph\Generated\Models\Group;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new Group();
$requestBody->setDescription('Self help community for library');
$requestBody->setDisplayName('Library Assist');
$requestBody->setGroupTypes(['Unified', ]);
$requestBody->setMailEnabled(true);
$requestBody->setMailNickname('library');
$requestBody->setSecurityEnabled(false);
$result = $graphServiceClient->groups()->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.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(
description = "Self help community for library",
display_name = "Library Assist",
group_types = [
"Unified",
],
mail_enabled = True,
mail_nickname = "library",
security_enabled = False,
)
result = await graph_client.groups.post(request_body)
L’exemple suivant illustre la réponse. La valeur de la propriété preferredDataLocation est héritée de l’emplacement de données préféré du créateur du groupe.
Remarque : l’objet de réponse affiché ci-après peut être raccourci pour plus de lisibilité.
Exemple 2 : créer un groupe avec des propriétaires et des membres
L’exemple suivant crée un groupe de sécurité avec un propriétaire et des membres spécifiés. Notez qu'un maximum de 20 relations, telles que les propriétaires et les membres, peuvent être ajoutées dans le cadre de la création d'un groupe. Vous pouvez ensuite ajouter d'autres membres à l'aide du traitement par lots JSON ou API d’ajout de membres.
Un utilisateur non administrateur ne peut pas s’ajouter à la collection propriétaires du groupe. Pour plus d’informations, consultez le problème connu associé.
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Models;
var requestBody = new Group
{
Description = "Group with designated owner and members",
DisplayName = "Operations group",
GroupTypes = new List<string>
{
},
MailEnabled = false,
MailNickname = "operations2019",
SecurityEnabled = true,
AdditionalData = new Dictionary<string, object>
{
{
"owners@odata.bind" , new List<string>
{
"https://graph.microsoft.com/v1.0/users/26be1845-4119-4801-a799-aea79d09f1a2",
}
},
{
"members@odata.bind" , new List<string>
{
"https://graph.microsoft.com/v1.0/users/ff7cb387-6688-423c-8188-3da9532a73cc",
"https://graph.microsoft.com/v1.0/users/69456242-0067-49d3-ba96-9de6f2728e14",
}
},
},
};
// 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.PostAsync(requestBody);
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
Group group = new Group();
group.setDescription("Group with designated owner and members");
group.setDisplayName("Operations group");
LinkedList<String> groupTypes = new LinkedList<String>();
group.setGroupTypes(groupTypes);
group.setMailEnabled(false);
group.setMailNickname("operations2019");
group.setSecurityEnabled(true);
HashMap<String, Object> additionalData = new HashMap<String, Object>();
LinkedList<String> ownersOdataBind = new LinkedList<String>();
ownersOdataBind.add("https://graph.microsoft.com/v1.0/users/26be1845-4119-4801-a799-aea79d09f1a2");
additionalData.put("owners@odata.bind", ownersOdataBind);
LinkedList<String> membersOdataBind = new LinkedList<String>();
membersOdataBind.add("https://graph.microsoft.com/v1.0/users/ff7cb387-6688-423c-8188-3da9532a73cc");
membersOdataBind.add("https://graph.microsoft.com/v1.0/users/69456242-0067-49d3-ba96-9de6f2728e14");
additionalData.put("members@odata.bind", membersOdataBind);
group.setAdditionalData(additionalData);
Group result = graphClient.groups().post(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(
description = "Group with designated owner and members",
display_name = "Operations group",
group_types = [
],
mail_enabled = False,
mail_nickname = "operations2019",
security_enabled = True,
additional_data = {
"owners@odata_bind" : [
"https://graph.microsoft.com/v1.0/users/26be1845-4119-4801-a799-aea79d09f1a2",
],
"members@odata_bind" : [
"https://graph.microsoft.com/v1.0/users/ff7cb387-6688-423c-8188-3da9532a73cc",
"https://graph.microsoft.com/v1.0/users/69456242-0067-49d3-ba96-9de6f2728e14",
],
}
)
result = await graph_client.groups.post(request_body)
Voici un exemple de réponse réussie. Il inclut uniquement les propriétés par défaut. Vous pouvez ensuite obtenir les propriétés de navigation propriétaires ou membres du groupe pour vérifier les détails du propriétaire ou des membres. La valeur de la propriété preferredDataLocation est héritée de l’emplacement de données préféré du créateur du groupe.
Remarque : l’objet de réponse affiché ci-après peut être raccourci pour plus de lisibilité.
Exemple 3 : Créer un groupe Microsoft 365 qui peut être affecté à un rôle Microsoft Entra
Demande
L’exemple suivant illustre une demande. L’utilisateur appelant doit se voir attribuer l’autorisation RoleManagement.ReadWrite.Directory pour définir la propriété isAssignableToRole ou mettre à jour l’appartenance de ces groupes.
Un groupe avec la propriété isAssignableToRole définie true sur ne peut pas être de type d’appartenance dynamique, son securityEnabled doit être défini sur et la visibilité ne peut être Privateque true.
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Models;
var requestBody = new Group
{
Description = "Group assignable to a role",
DisplayName = "Role assignable group",
GroupTypes = new List<string>
{
"Unified",
},
IsAssignableToRole = true,
MailEnabled = true,
SecurityEnabled = true,
MailNickname = "contosohelpdeskadministrators",
AdditionalData = new Dictionary<string, object>
{
{
"owners@odata.bind" , new List<string>
{
"https://graph.microsoft.com/v1.0/users/99e44b05-c10b-4e95-a523-e2732bbaba1e",
}
},
{
"members@odata.bind" , new List<string>
{
"https://graph.microsoft.com/v1.0/users/6ea91a8d-e32e-41a1-b7bd-d2d185eed0e0",
"https://graph.microsoft.com/v1.0/users/4562bcc8-c436-4f95-b7c0-4f8ce89dca5e",
}
},
},
};
// 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.PostAsync(requestBody);
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
Group group = new Group();
group.setDescription("Group assignable to a role");
group.setDisplayName("Role assignable group");
LinkedList<String> groupTypes = new LinkedList<String>();
groupTypes.add("Unified");
group.setGroupTypes(groupTypes);
group.setIsAssignableToRole(true);
group.setMailEnabled(true);
group.setSecurityEnabled(true);
group.setMailNickname("contosohelpdeskadministrators");
HashMap<String, Object> additionalData = new HashMap<String, Object>();
LinkedList<String> ownersOdataBind = new LinkedList<String>();
ownersOdataBind.add("https://graph.microsoft.com/v1.0/users/99e44b05-c10b-4e95-a523-e2732bbaba1e");
additionalData.put("owners@odata.bind", ownersOdataBind);
LinkedList<String> membersOdataBind = new LinkedList<String>();
membersOdataBind.add("https://graph.microsoft.com/v1.0/users/6ea91a8d-e32e-41a1-b7bd-d2d185eed0e0");
membersOdataBind.add("https://graph.microsoft.com/v1.0/users/4562bcc8-c436-4f95-b7c0-4f8ce89dca5e");
additionalData.put("members@odata.bind", membersOdataBind);
group.setAdditionalData(additionalData);
Group result = graphClient.groups().post(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(
description = "Group assignable to a role",
display_name = "Role assignable group",
group_types = [
"Unified",
],
is_assignable_to_role = True,
mail_enabled = True,
security_enabled = True,
mail_nickname = "contosohelpdeskadministrators",
additional_data = {
"owners@odata_bind" : [
"https://graph.microsoft.com/v1.0/users/99e44b05-c10b-4e95-a523-e2732bbaba1e",
],
"members@odata_bind" : [
"https://graph.microsoft.com/v1.0/users/6ea91a8d-e32e-41a1-b7bd-d2d185eed0e0",
"https://graph.microsoft.com/v1.0/users/4562bcc8-c436-4f95-b7c0-4f8ce89dca5e",
],
}
)
result = await graph_client.groups.post(request_body)
L’exemple suivant illustre la réponse. Il inclut uniquement les propriétés par défaut. La valeur de la propriété preferredDataLocation est héritée de l’emplacement de données préféré du créateur du groupe.