Создайте объект onlineMeeting с пользовательским указанным внешним идентификатором. Если внешний идентификатор уже существует, этот API вернет объект onlineMeeting с этим внешним идентификатором.
Примечание. Собрание не отображается в календаре пользователя.
Для вызова этого API требуется одно из следующих разрешений. Дополнительные сведения, включая сведения о том, как выбрать разрешения, см. в статье Разрешения.
Тип разрешения
Разрешения (в порядке повышения привилегий)
Делегированные (рабочая или учебная учетная запись)
OnlineMeetings.ReadWrite
Делегированные (личная учетная запись Майкрософт)
Не поддерживается.
Для приложений
OnlineMeetings.ReadWrite.All*
Важно!
* Администраторы должны создать политику доступа к приложениям и предоставить ее пользователю, авторизуя приложение, настроенное в политике для создания или получения собрания по сети с внешним идентификатором от имени этого пользователя (идентификатор пользователя, указанный в пути запроса).
HTTP-запрос
Чтобы вызвать API createOrGet с делегированным маркером, выполните следующие действия:
POST /me/onlineMeetings/createOrGet
Чтобы вызвать API createOrGet с маркером приложения, выполните следующие действия:
Участники, связанные с собранием по сети. Сюда входят организатор и участники.
startDateTime
DateTime
Время начала собрания в формате UTC.
subject
String
Тема онлайн-собрания.
Примечания.
Если значения startDateTime и endDateTime не указаны, значение startDateTime по умолчанию будет иметь текущее значение dateTime, а значение endDateTime будет равно startDateTime + 1 час.
Если параметр startDateTime указан, а endDateTime — нет, значение endDateTime будет равно startDateTime + 1 час.
Ошибка возникает, если endDateTime предоставляется без startDateTime или endDateTime раньше startDateTime.
Если несколько пользователей в одном клиенте используют один и тот же внешний идентификатор для выполнения этого запроса, создаются разные экземпляры собраний, каждый с собственным уникальным идентификатором. Сочетание идентификаторов tenantId, userId и externalId служит идентификатором для собрания с внешним идентификатором.
Отклик
В случае успешного 201 Created выполнения этот метод возвращает код ответа при создании нового собрания или 200 OK код ответа, если извлекается существующее собрание. В обоих случаях объект onlineMeeting возвращается в тексте ответа.
Примеры
Запрос
В следующем примере показано, как создать или получить собрание по сети с внешним идентификатором.
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Me.OnlineMeetings.CreateOrGet;
using Microsoft.Graph.Models;
var requestBody = new CreateOrGetPostRequestBody
{
StartDateTime = DateTimeOffset.Parse("2020-02-06T01:49:21.3524945+00:00"),
EndDateTime = DateTimeOffset.Parse("2020-02-06T02:19:21.3524945+00:00"),
Subject = "Create a meeting with customId provided",
ExternalId = "7eb8263f-d0e0-4149-bb1c-1f0476083c56",
Participants = new MeetingParticipants
{
Attendees = new List<MeetingParticipantInfo>
{
new MeetingParticipantInfo
{
Identity = new IdentitySet
{
User = new Identity
{
Id = "1f35f2e6-9cab-44ad-8d5a-b74c14720000",
},
},
Upn = "test1@contoso.com",
},
},
},
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Me.OnlineMeetings.CreateOrGet.PostAsync(requestBody);
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
com.microsoft.graph.users.item.onlinemeetings.createorget.CreateOrGetPostRequestBody createOrGetPostRequestBody = new com.microsoft.graph.users.item.onlinemeetings.createorget.CreateOrGetPostRequestBody();
OffsetDateTime startDateTime = OffsetDateTime.parse("2020-02-06T01:49:21.3524945+00:00");
createOrGetPostRequestBody.setStartDateTime(startDateTime);
OffsetDateTime endDateTime = OffsetDateTime.parse("2020-02-06T02:19:21.3524945+00:00");
createOrGetPostRequestBody.setEndDateTime(endDateTime);
createOrGetPostRequestBody.setSubject("Create a meeting with customId provided");
createOrGetPostRequestBody.setExternalId("7eb8263f-d0e0-4149-bb1c-1f0476083c56");
MeetingParticipants participants = new MeetingParticipants();
LinkedList<MeetingParticipantInfo> attendees = new LinkedList<MeetingParticipantInfo>();
MeetingParticipantInfo meetingParticipantInfo = new MeetingParticipantInfo();
IdentitySet identity = new IdentitySet();
Identity user = new Identity();
user.setId("1f35f2e6-9cab-44ad-8d5a-b74c14720000");
identity.setUser(user);
meetingParticipantInfo.setIdentity(identity);
meetingParticipantInfo.setUpn("test1@contoso.com");
attendees.add(meetingParticipantInfo);
participants.setAttendees(attendees);
createOrGetPostRequestBody.setParticipants(participants);
var result = graphClient.me().onlineMeetings().createOrGet().post(createOrGetPostRequestBody);
<?php
use Microsoft\Graph\GraphServiceClient;
use Microsoft\Graph\Generated\Users\Item\OnlineMeetings\CreateOrGet\CreateOrGetPostRequestBody;
use Microsoft\Graph\Generated\Models\MeetingParticipants;
use Microsoft\Graph\Generated\Models\MeetingParticipantInfo;
use Microsoft\Graph\Generated\Models\IdentitySet;
use Microsoft\Graph\Generated\Models\Identity;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new CreateOrGetPostRequestBody();
$requestBody->setStartDateTime(new \DateTime('2020-02-06T01:49:21.3524945+00:00'));
$requestBody->setEndDateTime(new \DateTime('2020-02-06T02:19:21.3524945+00:00'));
$requestBody->setSubject('Create a meeting with customId provided');
$requestBody->setExternalId('7eb8263f-d0e0-4149-bb1c-1f0476083c56');
$participants = new MeetingParticipants();
$attendeesMeetingParticipantInfo1 = new MeetingParticipantInfo();
$attendeesMeetingParticipantInfo1Identity = new IdentitySet();
$attendeesMeetingParticipantInfo1IdentityUser = new Identity();
$attendeesMeetingParticipantInfo1IdentityUser->setId('1f35f2e6-9cab-44ad-8d5a-b74c14720000');
$attendeesMeetingParticipantInfo1Identity->setUser($attendeesMeetingParticipantInfo1IdentityUser);
$attendeesMeetingParticipantInfo1->setIdentity($attendeesMeetingParticipantInfo1Identity);
$attendeesMeetingParticipantInfo1->setUpn('test1@contoso.com');
$attendeesArray []= $attendeesMeetingParticipantInfo1;
$participants->setAttendees($attendeesArray);
$requestBody->setParticipants($participants);
$result = $graphServiceClient->me()->onlineMeetings()->createOrGet()->post($requestBody)->wait();
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph import GraphServiceClient
from msgraph.generated.users.item.onlinemeetings.create_or_get.create_or_get_post_request_body import CreateOrGetPostRequestBody
from msgraph.generated.models.meeting_participants import MeetingParticipants
from msgraph.generated.models.meeting_participant_info import MeetingParticipantInfo
from msgraph.generated.models.identity_set import IdentitySet
from msgraph.generated.models.identity import Identity
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = CreateOrGetPostRequestBody(
start_date_time = "2020-02-06T01:49:21.3524945+00:00",
end_date_time = "2020-02-06T02:19:21.3524945+00:00",
subject = "Create a meeting with customId provided",
external_id = "7eb8263f-d0e0-4149-bb1c-1f0476083c56",
participants = MeetingParticipants(
attendees = [
MeetingParticipantInfo(
identity = IdentitySet(
user = Identity(
id = "1f35f2e6-9cab-44ad-8d5a-b74c14720000",
),
),
upn = "test1@contoso.com",
),
],
),
)
result = await graph_client.me.online_meetings.create_or_get.post(request_body)