Les API sous la version /beta dans Microsoft Graph sont susceptibles d’être modifiées. L’utilisation de ces API dans des applications de production n’est pas prise en charge. Pour déterminer si une API est disponible dans v1.0, utilisez le sélecteur Version .
Créez un groupe comme spécifié dans le corps de la demande. Vous pouvez créer l’un des 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 : pour créer une équipe, commencez par créer un groupe, puis ajoutez une équipe. Reportez-vous à la rubrique Créer une équipe.
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
chaîne
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é.
To following properties can’t be set in the initial POST request and must be set in a subsequent PATCH request: allowExternalSenders, autoSubscribeNewMembers, hideFromAddressLists, hideFromOutlookClients, isSubscribedByMail, unseenCount.
Étant donné que la ressource de groupe prend en charge les extensions,vous pouvez ajouter des propriétés personnalisées avec vos propres données au groupe lors de sa création.
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/beta/groups
Content-type: application/json
{
"description": "Self help community for golf",
"displayName": "Golf Assist",
"groupTypes": [
"Unified"
],
"mailEnabled": true,
"mailNickname": "golfassist",
"securityEnabled": false
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Beta.Models;
var requestBody = new Group
{
Description = "Self help community for golf",
DisplayName = "Golf Assist",
GroupTypes = new List<string>
{
"Unified",
},
MailEnabled = true,
MailNickname = "golfassist",
SecurityEnabled = false,
};
// To initialize your graphClient, see https://learn.microsoft.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 $v0.*
// Dependencies
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-beta-sdk-go"
graphmodels "github.com/microsoftgraph/msgraph-beta-sdk-go/models"
//other-imports
)
requestBody := graphmodels.NewGroup()
description := "Self help community for golf"
requestBody.SetDescription(&description)
displayName := "Golf Assist"
requestBody.SetDisplayName(&displayName)
groupTypes := []string {
"Unified",
}
requestBody.SetGroupTypes(groupTypes)
mailEnabled := true
requestBody.SetMailEnabled(&mailEnabled)
mailNickname := "golfassist"
requestBody.SetMailNickname(&mailNickname)
securityEnabled := false
requestBody.SetSecurityEnabled(&securityEnabled)
// To initialize your graphClient, see https://learn.microsoft.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 golf");
group.setDisplayName("Golf Assist");
LinkedList<String> groupTypes = new LinkedList<String>();
groupTypes.add("Unified");
group.setGroupTypes(groupTypes);
group.setMailEnabled(true);
group.setMailNickname("golfassist");
group.setSecurityEnabled(false);
Group result = graphClient.groups().post(group);
<?php
use Microsoft\Graph\Beta\GraphServiceClient;
use Microsoft\Graph\Beta\Generated\Models\Group;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new Group();
$requestBody->setDescription('Self help community for golf');
$requestBody->setDisplayName('Golf Assist');
$requestBody->setGroupTypes(['Unified', ]);
$requestBody->setMailEnabled(true);
$requestBody->setMailNickname('golfassist');
$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_beta import GraphServiceClient
from msgraph_beta.generated.models.group import Group
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = Group(
description = "Self help community for golf",
display_name = "Golf Assist",
group_types = [
"Unified",
],
mail_enabled = True,
mail_nickname = "golfassist",
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éation d’un groupe de sécurité avec un propriétaire et des membres
L’exemple suivant crée un groupe Microsoft 365 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.Beta.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/beta/users/26be1845-4119-4801-a799-aea79d09f1a2",
}
},
{
"members@odata.bind" , new List<string>
{
"https://graph.microsoft.com/beta/users/ff7cb387-6688-423c-8188-3da9532a73cc",
"https://graph.microsoft.com/beta/users/69456242-0067-49d3-ba96-9de6f2728e14",
}
},
},
};
// To initialize your graphClient, see https://learn.microsoft.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/beta/users/26be1845-4119-4801-a799-aea79d09f1a2");
additionalData.put("owners@odata.bind", ownersOdataBind);
LinkedList<String> membersOdataBind = new LinkedList<String>();
membersOdataBind.add("https://graph.microsoft.com/beta/users/ff7cb387-6688-423c-8188-3da9532a73cc");
membersOdataBind.add("https://graph.microsoft.com/beta/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_beta import GraphServiceClient
from msgraph_beta.generated.models.group import Group
# To initialize your graph_client, see https://learn.microsoft.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/beta/users/26be1845-4119-4801-a799-aea79d09f1a2",
],
"members@odata_bind" : [
"https://graph.microsoft.com/beta/users/ff7cb387-6688-423c-8188-3da9532a73cc",
"https://graph.microsoft.com/beta/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.Beta.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/beta/users/99e44b05-c10b-4e95-a523-e2732bbaba1e",
}
},
{
"members@odata.bind" , new List<string>
{
"https://graph.microsoft.com/beta/users/6ea91a8d-e32e-41a1-b7bd-d2d185eed0e0",
"https://graph.microsoft.com/beta/users/4562bcc8-c436-4f95-b7c0-4f8ce89dca5e",
}
},
},
};
// To initialize your graphClient, see https://learn.microsoft.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/beta/users/99e44b05-c10b-4e95-a523-e2732bbaba1e");
additionalData.put("owners@odata.bind", ownersOdataBind);
LinkedList<String> membersOdataBind = new LinkedList<String>();
membersOdataBind.add("https://graph.microsoft.com/beta/users/6ea91a8d-e32e-41a1-b7bd-d2d185eed0e0");
membersOdataBind.add("https://graph.microsoft.com/beta/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_beta import GraphServiceClient
from msgraph_beta.generated.models.group import Group
# To initialize your graph_client, see https://learn.microsoft.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/beta/users/99e44b05-c10b-4e95-a523-e2732bbaba1e",
],
"members@odata_bind" : [
"https://graph.microsoft.com/beta/users/6ea91a8d-e32e-41a1-b7bd-d2d185eed0e0",
"https://graph.microsoft.com/beta/users/4562bcc8-c436-4f95-b7c0-4f8ce89dca5e",
],
}
)
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.