Добавьте участника в группу безопасности или Microsoft 365. При использовании API для добавления нескольких участников в одном запросе можно добавить до 20 участников.
В следующей таблице показаны типы участников, которых можно добавить в группы безопасности или группы Microsoft 365.
В следующей таблице показаны разрешения с наименьшими привилегиями, необходимые каждому типу ресурсов при вызове этого API. Дополнительные сведения, включая сведения о том, как выбрать разрешения, см. в статье Разрешения.
Поддерживаемый ресурс
Делегированное (рабочая или учебная учетная запись)
В делегированных сценариях пользователю, выполнившему вход, также должна быть назначена поддерживаемая роль Microsoft Entra или настраиваемая роль с разрешением роли microsoft.directory/groups/members/update . Для этой операции поддерживаются следующие наименее привилегированные роли, за исключением групп, назначаемых ролями:
Владельцы групп
Запись каталогов
Администратор групп
Администратор управления удостоверениями
Администратор пользователей
Администратор Exchange — только для групп Microsoft 365
Администратор SharePoint — только для групп Microsoft 365
Администратор Teams — только для групп Microsoft 365
Администратор Yammer — только для групп Microsoft 365
Администратор Intune — только для групп безопасности.
Чтобы добавить участников в группу с возможностью назначения ролей, приложению также должно быть назначено разрешение RoleManagement.ReadWrite.Directory , а вызывающему пользователю должна быть назначена поддерживаемая роль Microsoft Entra.
Администратор привилегированных ролей — это наименее привилегированная роль, которая поддерживается для этой операции.
В случае успешного выполнения этот метод возвращает код отклика 204 No Content. Он не возвращает ничего в теле ответа. Если объект уже является членом группы, этот метод возвращает код отклика 400 Bad Request. Если добавляемый объект не существует, этот метод возвращает код отклика 404 Not Found.
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://learn.microsoft.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://learn.microsoft.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();
Укажите в тексте запроса свойство добавляемого объекта идентификатор directoryObject, user или group, представленное в формате JSON.
Отклик
Ниже показан пример отклика.
HTTP/1.1 204 No Content
Пример 2. Добавление нескольких участников в группу одним запросом
В этом примере показано, как добавить нескольких участников в группу с поддержкой с привязкой к ОData в операции PATCH. В одном запросе можно добавить до 20 участников. Операция POST не поддерживается. Если в тексте запроса существует условие ошибки, элементы не добавляются и возвращается соответствующий код отклика.
// 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://learn.microsoft.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://learn.microsoft.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);
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделе https://aka.ms/ContentUserFeedback.