Пространство имен: microsoft.graph
Важно!
API версии /beta
в Microsoft Graph могут быть изменены. Использование этих API в производственных приложениях не поддерживается. Чтобы определить, доступен ли API в версии 1.0, используйте селектор версий.
Добавление нескольких участников в команду одним запросом. Отклик предоставляет сведения о том, каких участников можно создать, а каких — нельзя.
Примечание.
Иногда требуется время, чтобы отразить добавление элемента после его добавления. Пользователи могут использовать уведомления об изменениях для подписки на уведомления об изменениях членства в определенной команде.
Этот API доступен в следующих национальных облачных развертываниях.
Глобальная служба |
Правительство США L4 |
Правительство США L5 (DOD) |
Китай управляется 21Vianet |
✅ |
✅ |
✅ |
✅ |
Разрешения
Выберите разрешение или разрешения, помеченные как наименее привилегированные для этого API. Используйте более привилегированное разрешение или разрешения только в том случае, если это требуется приложению. Дополнительные сведения о делегированных разрешениях и разрешениях приложений см. в разделе Типы разрешений. Дополнительные сведения об этих разрешениях см. в справочнике по разрешениям.
Тип разрешения |
Разрешения с наименьшими привилегиями |
Более высокие привилегированные разрешения |
Делегированные (рабочая или учебная учетная запись) |
TeamMember.ReadWrite.All |
Недоступно. |
Делегированные (личная учетная запись Майкрософт) |
Не поддерживается. |
Не поддерживается. |
Приложение |
TeamMember.ReadWrite.All |
Недоступно. |
HTTP-запрос
Это связывающее действие для добавления нескольких элементов в коллекцию conversationMember одним запросом.
POST /teams/{team-id}/members/add
Текст запроса
В тексте запроса укажите в формате JSON представление списка производных conversationMember
, которые необходимо добавить. В один запрос можно добавить не более 200 производных conversationMember
.
В следующей таблице указаны параметры, которые можно использовать с этим действием.
Параметр |
Тип |
Описание |
values |
Коллекция conversationMember |
Список участников беседы, которых следует добавить. |
Отклик
В случае успеха это действие возвращает код отклика 200 OK
и коллекцию производных ресурса actionResultPart в тексте отклика.
Этот API возвращает либо ответ, указывающий 200
, что все указанные члены были добавлены в команду, либо ответ, указывающий 207
, что в команду были добавлены только некоторые из указанных участников. Вызывающая сторона должна проверить полезные данные отклика, чтобы определить, какого участника не удалось добавить. Текст отклика является коллекцией производных ресурса actionResultPart. Этот API отвечает ошибкой при сбое запроса. Дополнительные сведения об ошибках Microsoft Graph см. в статье Ошибки Microsoft Graph и типы ресурсов.
Примеры
Пример 1. Массовое добавление участников в команду
Запрос
В следующем примере показан запрос на добавление нескольких участников в команду.
POST https://graph.microsoft.com/beta/teams/e4183b04-c9a2-417c-bde4-70e3ee46a6dc/members/add
Content-Type: application/json
{
"values": [
{
"@odata.type": "microsoft.graph.aadUserConversationMember",
"roles":[],
"[email protected]": "https://graph.microsoft.com/beta/users('18a80140-b0fb-4489-b360-2f6efaf225a0')"
},
{
"@odata.type": "microsoft.graph.aadUserConversationMember",
"roles":["owner"],
"[email protected]": "https://graph.microsoft.com/beta/users('86503198-b81b-43fe-81ee-ad45b8848ac9')"
}
]
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Beta.Teams.Item.Members.Add;
using Microsoft.Graph.Beta.Models;
var requestBody = new AddPostRequestBody
{
Values = new List<ConversationMember>
{
new AadUserConversationMember
{
OdataType = "microsoft.graph.aadUserConversationMember",
Roles = new List<string>
{
},
AdditionalData = new Dictionary<string, object>
{
{
"[email protected]" , "https://graph.microsoft.com/beta/users('18a80140-b0fb-4489-b360-2f6efaf225a0')"
},
},
},
new AadUserConversationMember
{
OdataType = "microsoft.graph.aadUserConversationMember",
Roles = new List<string>
{
"owner",
},
AdditionalData = new Dictionary<string, object>
{
{
"[email protected]" , "https://graph.microsoft.com/beta/users('86503198-b81b-43fe-81ee-ad45b8848ac9')"
},
},
},
},
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Teams["{team-id}"].Members.Add.PostAsAddPostResponseAsync(requestBody);
mgc-beta teams members add post --team-id {team-id} --body '{\
"values": [\
{\
"@odata.type": "microsoft.graph.aadUserConversationMember",\
"roles":[],\
"[email protected]": "https://graph.microsoft.com/beta/users('18a80140-b0fb-4489-b360-2f6efaf225a0')"\
},\
{\
"@odata.type": "microsoft.graph.aadUserConversationMember",\
"roles":["owner"],\
"[email protected]": "https://graph.microsoft.com/beta/users('86503198-b81b-43fe-81ee-ad45b8848ac9')"\
}\
]\
}\
'
// 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"
graphteams "github.com/microsoftgraph/msgraph-beta-sdk-go/teams"
graphmodels "github.com/microsoftgraph/msgraph-beta-sdk-go/models"
//other-imports
)
requestBody := graphteams.NewAddPostRequestBody()
conversationMember := graphmodels.NewAadUserConversationMember()
roles := []string {
}
conversationMember.SetRoles(roles)
additionalData := map[string]interface{}{
"[email protected]" : "https://graph.microsoft.com/beta/users('18a80140-b0fb-4489-b360-2f6efaf225a0')",
}
conversationMember.SetAdditionalData(additionalData)
conversationMember1 := graphmodels.NewAadUserConversationMember()
roles := []string {
"owner",
}
conversationMember1.SetRoles(roles)
additionalData := map[string]interface{}{
"[email protected]" : "https://graph.microsoft.com/beta/users('86503198-b81b-43fe-81ee-ad45b8848ac9')",
}
conversationMember1.SetAdditionalData(additionalData)
values := []graphmodels.ConversationMemberable {
conversationMember,
conversationMember1,
}
requestBody.SetValues(values)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
add, err := graphClient.Teams().ByTeamId("team-id").Members().Add().PostAsAddPostResponse(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.beta.teams.item.members.add.AddPostRequestBody addPostRequestBody = new com.microsoft.graph.beta.teams.item.members.add.AddPostRequestBody();
LinkedList<ConversationMember> values = new LinkedList<ConversationMember>();
AadUserConversationMember conversationMember = new AadUserConversationMember();
conversationMember.setOdataType("microsoft.graph.aadUserConversationMember");
LinkedList<String> roles = new LinkedList<String>();
conversationMember.setRoles(roles);
HashMap<String, Object> additionalData = new HashMap<String, Object>();
additionalData.put("[email protected]", "https://graph.microsoft.com/beta/users('18a80140-b0fb-4489-b360-2f6efaf225a0')");
conversationMember.setAdditionalData(additionalData);
values.add(conversationMember);
AadUserConversationMember conversationMember1 = new AadUserConversationMember();
conversationMember1.setOdataType("microsoft.graph.aadUserConversationMember");
LinkedList<String> roles1 = new LinkedList<String>();
roles1.add("owner");
conversationMember1.setRoles(roles1);
HashMap<String, Object> additionalData1 = new HashMap<String, Object>();
additionalData1.put("[email protected]", "https://graph.microsoft.com/beta/users('86503198-b81b-43fe-81ee-ad45b8848ac9')");
conversationMember1.setAdditionalData(additionalData1);
values.add(conversationMember1);
addPostRequestBody.setValues(values);
var result = graphClient.teams().byTeamId("{team-id}").members().add().post(addPostRequestBody);
const options = {
authProvider,
};
const client = Client.init(options);
const actionResultPart = {
values: [
{
'@odata.type': 'microsoft.graph.aadUserConversationMember',
roles: [],
'[email protected]': 'https://graph.microsoft.com/beta/users(\'18a80140-b0fb-4489-b360-2f6efaf225a0\')'
},
{
'@odata.type': 'microsoft.graph.aadUserConversationMember',
roles: ['owner'],
'[email protected]': 'https://graph.microsoft.com/beta/users(\'86503198-b81b-43fe-81ee-ad45b8848ac9\')'
}
]
};
await client.api('/teams/e4183b04-c9a2-417c-bde4-70e3ee46a6dc/members/add')
.version('beta')
.post(actionResultPart);
<?php
use Microsoft\Graph\Beta\GraphServiceClient;
use Microsoft\Graph\Beta\Generated\Teams\Item\Members\Add\AddPostRequestBody;
use Microsoft\Graph\Beta\Generated\Models\ConversationMember;
use Microsoft\Graph\Beta\Generated\Models\AadUserConversationMember;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new AddPostRequestBody();
$valuesConversationMember1 = new AadUserConversationMember();
$valuesConversationMember1->setOdataType('microsoft.graph.aadUserConversationMember');
$valuesConversationMember1->setRoles([ ]);
$additionalData = [
'[email protected]' => 'https://graph.microsoft.com/beta/users(\'18a80140-b0fb-4489-b360-2f6efaf225a0\')',
];
$valuesConversationMember1->setAdditionalData($additionalData);
$valuesArray []= $valuesConversationMember1;
$valuesConversationMember2 = new AadUserConversationMember();
$valuesConversationMember2->setOdataType('microsoft.graph.aadUserConversationMember');
$valuesConversationMember2->setRoles(['owner', ]);
$additionalData = [
'[email protected]' => 'https://graph.microsoft.com/beta/users(\'86503198-b81b-43fe-81ee-ad45b8848ac9\')',
];
$valuesConversationMember2->setAdditionalData($additionalData);
$valuesArray []= $valuesConversationMember2;
$requestBody->setValues($valuesArray);
$result = $graphServiceClient->teams()->byTeamId('team-id')->members()->add()->post($requestBody)->wait();
Import-Module Microsoft.Graph.Beta.Teams
$params = @{
values = @(
@{
"@odata.type" = "microsoft.graph.aadUserConversationMember"
roles = @(
)
"[email protected]" = "https://graph.microsoft.com/beta/users('18a80140-b0fb-4489-b360-2f6efaf225a0')"
}
@{
"@odata.type" = "microsoft.graph.aadUserConversationMember"
roles = @(
"owner"
)
"[email protected]" = "https://graph.microsoft.com/beta/users('86503198-b81b-43fe-81ee-ad45b8848ac9')"
}
)
}
Add-MgBetaTeamMember -TeamId $teamId -BodyParameter $params
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph_beta import GraphServiceClient
from msgraph_beta.generated.teams.item.members.add.add_post_request_body import AddPostRequestBody
from msgraph_beta.generated.models.conversation_member import ConversationMember
from msgraph_beta.generated.models.aad_user_conversation_member import AadUserConversationMember
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = AddPostRequestBody(
values = [
AadUserConversationMember(
odata_type = "microsoft.graph.aadUserConversationMember",
roles = [
],
additional_data = {
"user@odata_bind" : "https://graph.microsoft.com/beta/users('18a80140-b0fb-4489-b360-2f6efaf225a0')",
}
),
AadUserConversationMember(
odata_type = "microsoft.graph.aadUserConversationMember",
roles = [
"owner",
],
additional_data = {
"user@odata_bind" : "https://graph.microsoft.com/beta/users('86503198-b81b-43fe-81ee-ad45b8848ac9')",
}
),
],
)
result = await graph_client.teams.by_team_id('team-id').members.add.post(request_body)
Отклик
Ниже показан пример отклика.
Примечание. Объект отклика, показанный здесь, может быть сокращен для удобочитаемости.
HTTP/1.1 200 OK
Content-Type: application/json
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#Collection(microsoft.graph.aadUserConversationMemberResult)",
"value": [
{
"@odata.type": "#microsoft.graph.aadUserConversationMemberResult",
"userId": "18a80140-b0fb-4489-b360-2f6efaf225a0",
"error": null
},
{
"@odata.type": "#microsoft.graph.aadUserConversationMemberResult",
"userId": "86503198-b81b-43fe-81ee-ad45b8848ac9",
"error": null
}
]
}
Пример 2. Массовое добавление участников в команду с помощью имени участника-пользователя
Запрос
В следующем примере показан запрос на добавление нескольких участников в команду с использованием имен субъектов-пользователей участников.
POST https://graph.microsoft.com/beta/teams/e4183b04-c9a2-417c-bde4-70e3ee46a6dc/members/add
Content-Type: application/json
{
"values": [
{
"@odata.type": "microsoft.graph.aadUserConversationMember",
"roles":[],
"[email protected]": "https://graph.microsoft.com/beta/users('[email protected]')"
},
{
"@odata.type": "microsoft.graph.aadUserConversationMember",
"roles":["owner"],
"[email protected]": "https://graph.microsoft.com/beta/users('[email protected]')"
}
]
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Beta.Teams.Item.Members.Add;
using Microsoft.Graph.Beta.Models;
var requestBody = new AddPostRequestBody
{
Values = new List<ConversationMember>
{
new AadUserConversationMember
{
OdataType = "microsoft.graph.aadUserConversationMember",
Roles = new List<string>
{
},
AdditionalData = new Dictionary<string, object>
{
{
"[email protected]" , "https://graph.microsoft.com/beta/users('[email protected]')"
},
},
},
new AadUserConversationMember
{
OdataType = "microsoft.graph.aadUserConversationMember",
Roles = new List<string>
{
"owner",
},
AdditionalData = new Dictionary<string, object>
{
{
"[email protected]" , "https://graph.microsoft.com/beta/users('[email protected]')"
},
},
},
},
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Teams["{team-id}"].Members.Add.PostAsAddPostResponseAsync(requestBody);
mgc-beta teams members add post --team-id {team-id} --body '{\
"values": [\
{\
"@odata.type": "microsoft.graph.aadUserConversationMember",\
"roles":[],\
"[email protected]": "https://graph.microsoft.com/beta/users('[email protected]')"\
},\
{\
"@odata.type": "microsoft.graph.aadUserConversationMember",\
"roles":["owner"],\
"[email protected]": "https://graph.microsoft.com/beta/users('[email protected]')"\
}\
]\
}\
'
// 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"
graphteams "github.com/microsoftgraph/msgraph-beta-sdk-go/teams"
graphmodels "github.com/microsoftgraph/msgraph-beta-sdk-go/models"
//other-imports
)
requestBody := graphteams.NewAddPostRequestBody()
conversationMember := graphmodels.NewAadUserConversationMember()
roles := []string {
}
conversationMember.SetRoles(roles)
additionalData := map[string]interface{}{
"[email protected]" : "https://graph.microsoft.com/beta/users('[email protected]')",
}
conversationMember.SetAdditionalData(additionalData)
conversationMember1 := graphmodels.NewAadUserConversationMember()
roles := []string {
"owner",
}
conversationMember1.SetRoles(roles)
additionalData := map[string]interface{}{
"[email protected]" : "https://graph.microsoft.com/beta/users('[email protected]')",
}
conversationMember1.SetAdditionalData(additionalData)
values := []graphmodels.ConversationMemberable {
conversationMember,
conversationMember1,
}
requestBody.SetValues(values)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
add, err := graphClient.Teams().ByTeamId("team-id").Members().Add().PostAsAddPostResponse(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.beta.teams.item.members.add.AddPostRequestBody addPostRequestBody = new com.microsoft.graph.beta.teams.item.members.add.AddPostRequestBody();
LinkedList<ConversationMember> values = new LinkedList<ConversationMember>();
AadUserConversationMember conversationMember = new AadUserConversationMember();
conversationMember.setOdataType("microsoft.graph.aadUserConversationMember");
LinkedList<String> roles = new LinkedList<String>();
conversationMember.setRoles(roles);
HashMap<String, Object> additionalData = new HashMap<String, Object>();
additionalData.put("[email protected]", "https://graph.microsoft.com/beta/users('[email protected]')");
conversationMember.setAdditionalData(additionalData);
values.add(conversationMember);
AadUserConversationMember conversationMember1 = new AadUserConversationMember();
conversationMember1.setOdataType("microsoft.graph.aadUserConversationMember");
LinkedList<String> roles1 = new LinkedList<String>();
roles1.add("owner");
conversationMember1.setRoles(roles1);
HashMap<String, Object> additionalData1 = new HashMap<String, Object>();
additionalData1.put("[email protected]", "https://graph.microsoft.com/beta/users('[email protected]')");
conversationMember1.setAdditionalData(additionalData1);
values.add(conversationMember1);
addPostRequestBody.setValues(values);
var result = graphClient.teams().byTeamId("{team-id}").members().add().post(addPostRequestBody);
const options = {
authProvider,
};
const client = Client.init(options);
const actionResultPart = {
values: [
{
'@odata.type': 'microsoft.graph.aadUserConversationMember',
roles: [],
'[email protected]': 'https://graph.microsoft.com/beta/users(\'[email protected]\')'
},
{
'@odata.type': 'microsoft.graph.aadUserConversationMember',
roles: ['owner'],
'[email protected]': 'https://graph.microsoft.com/beta/users(\'[email protected]\')'
}
]
};
await client.api('/teams/e4183b04-c9a2-417c-bde4-70e3ee46a6dc/members/add')
.version('beta')
.post(actionResultPart);
<?php
use Microsoft\Graph\Beta\GraphServiceClient;
use Microsoft\Graph\Beta\Generated\Teams\Item\Members\Add\AddPostRequestBody;
use Microsoft\Graph\Beta\Generated\Models\ConversationMember;
use Microsoft\Graph\Beta\Generated\Models\AadUserConversationMember;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new AddPostRequestBody();
$valuesConversationMember1 = new AadUserConversationMember();
$valuesConversationMember1->setOdataType('microsoft.graph.aadUserConversationMember');
$valuesConversationMember1->setRoles([ ]);
$additionalData = [
'[email protected]' => 'https://graph.microsoft.com/beta/users(\'[email protected]\')',
];
$valuesConversationMember1->setAdditionalData($additionalData);
$valuesArray []= $valuesConversationMember1;
$valuesConversationMember2 = new AadUserConversationMember();
$valuesConversationMember2->setOdataType('microsoft.graph.aadUserConversationMember');
$valuesConversationMember2->setRoles(['owner', ]);
$additionalData = [
'[email protected]' => 'https://graph.microsoft.com/beta/users(\'[email protected]\')',
];
$valuesConversationMember2->setAdditionalData($additionalData);
$valuesArray []= $valuesConversationMember2;
$requestBody->setValues($valuesArray);
$result = $graphServiceClient->teams()->byTeamId('team-id')->members()->add()->post($requestBody)->wait();
Import-Module Microsoft.Graph.Beta.Teams
$params = @{
values = @(
@{
"@odata.type" = "microsoft.graph.aadUserConversationMember"
roles = @(
)
"[email protected]" = "https://graph.microsoft.com/beta/users('[email protected]')"
}
@{
"@odata.type" = "microsoft.graph.aadUserConversationMember"
roles = @(
"owner"
)
"[email protected]" = "https://graph.microsoft.com/beta/users('[email protected]')"
}
)
}
Add-MgBetaTeamMember -TeamId $teamId -BodyParameter $params
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph_beta import GraphServiceClient
from msgraph_beta.generated.teams.item.members.add.add_post_request_body import AddPostRequestBody
from msgraph_beta.generated.models.conversation_member import ConversationMember
from msgraph_beta.generated.models.aad_user_conversation_member import AadUserConversationMember
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = AddPostRequestBody(
values = [
AadUserConversationMember(
odata_type = "microsoft.graph.aadUserConversationMember",
roles = [
],
additional_data = {
"user@odata_bind" : "https://graph.microsoft.com/beta/users('[email protected]')",
}
),
AadUserConversationMember(
odata_type = "microsoft.graph.aadUserConversationMember",
roles = [
"owner",
],
additional_data = {
"user@odata_bind" : "https://graph.microsoft.com/beta/users('[email protected]')",
}
),
],
)
result = await graph_client.teams.by_team_id('team-id').members.add.post(request_body)
Отклик
Ниже показан пример отклика.
Примечание. Объект отклика, показанный здесь, может быть сокращен для удобочитаемости.
HTTP/1.1 200 OK
Content-Type: application/json
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#Collection(microsoft.graph.aadUserConversationMemberResult)",
"value": [
{
"@odata.type": "#microsoft.graph.aadUserConversationMemberResult",
"userId": "18a80140-b0fb-4489-b360-2f6efaf225a0",
"error": null
},
{
"@odata.type": "#microsoft.graph.aadUserConversationMemberResult",
"userId": "86503198-b81b-43fe-81ee-ad45b8848ac9",
"error": null
}
]
}
Связанные материалы