Namespace: microsoft.graph
Crie um objeto onlineMeeting com uma ID externa especificada personalizada. Se a ID externa já existir, essa API retornará o objeto onlineMeeting com essa ID externa.
Observação: a reunião não aparece no calendário do usuário.
Essa API está disponível nas seguintes implantações de nuvem nacional.
| Serviço global |
Governo dos EUA L4 |
US Government L5 (DOD) |
China operada pela 21Vianet |
| ✅ |
✅ |
✅ |
❌ |
Permissões
Uma das seguintes permissões é necessária para chamar esta API. Para saber mais, incluindo como escolher permissões, confira Permissões.
| Tipo de permissão |
Permissões (da com menos para a com mais privilégios) |
| Delegado (conta corporativa ou de estudante) |
OnlineMeetings.ReadWrite |
| Delegado (conta pessoal da Microsoft) |
Sem suporte. |
| Aplicativo |
OnlineMeetings.ReadWrite.All* |
Importante
* Os administradores devem criar uma política de acesso ao aplicativo e concedê-la a um usuário, autorizando o aplicativo configurado na política a criar ou obter uma reunião online com ID externa em nome desse usuário (ID do usuário especificada no caminho da solicitação).
Solicitação HTTP
Para chamar a API createOrGet com token delegado:
POST /me/onlineMeetings/createOrGet
Para chamar a API createOrGet com o token de aplicativo:
POST /users/{userId}/onlineMeetings/createOrGet
| Nome |
Descrição |
| Autorização |
{token} de portador. Obrigatório. Saiba mais sobre autenticação e autorização. |
| Content-type |
application/json. Obrigatório. |
Corpo da solicitação
Forneça um objeto JSON com os seguintes parâmetros no corpo da solicitação.
| Parâmetro |
Tipo |
Descrição |
| endDateTime |
DateTime |
A hora de término da reunião em UTC. |
| externalId |
Cadeia de caracteres |
A ID externa. Uma ID personalizada. (obrigatório) |
| participants |
meetingParticipants |
Os participantes associados à reunião online. Isso inclui o organizador e os participantes. |
| startDateTime |
DateTime |
A hora de início da reunião em UTC. |
| assunto |
Cadeia de caracteres |
O assunto da reunião online. |
Observações:
- Se startDateTime e endDateTime não forem fornecidos, o startDateTime usará como padrão o valor dateTime atual e o valor endDateTime será igual a startDateTime + 1 hora.
- Se startDateTime for fornecido, mas endDateTime não, o valor endDateTime será igual a startDateTime + 1 hora.
- Um erro será gerado se endDateTime for fornecido sem startDateTime ou se endDateTime for anterior a startDateTime.
- Quando vários usuários no mesmo locatário usam a mesma externalId para executar essa consulta, diferentes instâncias de reunião são geradas, cada uma com sua própria ID exclusiva. A combinação de tenantId, userId e externalId serve como o identificador para uma reunião com uma ID externa.
Resposta
Se tiver êxito, esse método retornará um código de 201 Created resposta se uma nova reunião for criada ou um código de 200 OK resposta se uma reunião existente for recuperada. Em ambos os casos, um objeto onlineMeeting é retornado no corpo da resposta.
Exemplos
Solicitação
O exemplo a seguir mostra como criar ou obter uma reunião online com uma ID externa.
POST https://graph.microsoft.com/v1.0/me/onlineMeetings/createOrGet
Content-Type: application/json
{
"startDateTime": "2020-02-06T01:49:21.3524945+00:00",
"endDateTime": "2020-02-06T02:19:21.3524945+00:00",
"subject": "Create a meeting with customId provided",
"externalId": "7eb8263f-d0e0-4149-bb1c-1f0476083c56",
"participants": {
"attendees": [
{
"identity": {
"user": {
"id": "1f35f2e6-9cab-44ad-8d5a-b74c14720000"
}
},
"upn": "test1@contoso.com"
}
]
}
}
// 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);
Para obter detalhes sobre como adicionar o SDK ao seu projeto e criar uma instância authProvider, consulte a documentação do SDK.
// Code snippets are only available for the latest major version. Current major version is $v1.*
// Dependencies
import (
"context"
"time"
msgraphsdk "github.com/microsoftgraph/msgraph-sdk-go"
graphusers "github.com/microsoftgraph/msgraph-sdk-go/users"
graphmodels "github.com/microsoftgraph/msgraph-sdk-go/models"
//other-imports
)
requestBody := graphusers.NewItemCreateOrGetPostRequestBody()
startDateTime , err := time.Parse(time.RFC3339, "2020-02-06T01:49:21.3524945+00:00")
requestBody.SetStartDateTime(&startDateTime)
endDateTime , err := time.Parse(time.RFC3339, "2020-02-06T02:19:21.3524945+00:00")
requestBody.SetEndDateTime(&endDateTime)
subject := "Create a meeting with customId provided"
requestBody.SetSubject(&subject)
externalId := "7eb8263f-d0e0-4149-bb1c-1f0476083c56"
requestBody.SetExternalId(&externalId)
participants := graphmodels.NewMeetingParticipants()
meetingParticipantInfo := graphmodels.NewMeetingParticipantInfo()
identity := graphmodels.NewIdentitySet()
user := graphmodels.NewIdentity()
id := "1f35f2e6-9cab-44ad-8d5a-b74c14720000"
user.SetId(&id)
identity.SetUser(user)
meetingParticipantInfo.SetIdentity(identity)
upn := "test1@contoso.com"
meetingParticipantInfo.SetUpn(&upn)
attendees := []graphmodels.MeetingParticipantInfoable {
meetingParticipantInfo,
}
participants.SetAttendees(attendees)
requestBody.SetParticipants(participants)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
createOrGet, err := graphClient.Me().OnlineMeetings().CreateOrGet().Post(context.Background(), requestBody, nil)
Para obter detalhes sobre como adicionar o SDK ao seu projeto e criar uma instância authProvider, consulte a documentação do SDK.
// 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);
Para obter detalhes sobre como adicionar o SDK ao seu projeto e criar uma instância authProvider, consulte a documentação do SDK.
const options = {
authProvider,
};
const client = Client.init(options);
const onlineMeeting = {
startDateTime: '2020-02-06T01:49:21.3524945+00:00',
endDateTime: '2020-02-06T02:19:21.3524945+00:00',
subject: 'Create a meeting with customId provided',
externalId: '7eb8263f-d0e0-4149-bb1c-1f0476083c56',
participants: {
attendees: [
{
identity: {
user: {
id: '1f35f2e6-9cab-44ad-8d5a-b74c14720000'
}
},
upn: 'test1@contoso.com'
}
]
}
};
await client.api('/me/onlineMeetings/createOrGet')
.post(onlineMeeting);
Para obter detalhes sobre como adicionar o SDK ao seu projeto e criar uma instância authProvider, consulte a documentação do SDK.
<?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();
Para obter detalhes sobre como adicionar o SDK ao seu projeto e criar uma instância authProvider, consulte a documentação do SDK.
# 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)
Para obter detalhes sobre como adicionar o SDK ao seu projeto e criar uma instância authProvider, consulte a documentação do SDK.
Resposta
Observação: o objeto de resposta mostrado aqui pode ser encurtado para legibilidade.
HTTP/1.1 200 OK
Content-Type: application/json
{
"id": "(redacted)",
"creationDateTime": "2020-09-11T06:30:18.1909168Z",
"startDateTime": "2020-09-11T06:30:18.0615989Z",
"endDateTime": "2020-09-11T07:30:18.0615989Z",
"joinWebUrl": "(redacted)",
"subject": "Create a meeting with customId provided",
"isBroadcast": false,
"autoAdmittedUsers": "EveryoneInCompany",
"isEntryExitAnnounced": true,
"allowedPresenters": "everyone",
"videoTeleconferenceId": "(redacted)",
"externalId": "7eb8263f-d0e0-4149-bb1c-1f0476083c56",
"participants": {
"organizer": {
"upn": "(redacted)",
"role": "presenter",
"identity": {
"user": {
"id": "(redacted)",
}
}
},
"attendees": [
{
"upn": "test1@contoso.com",
"role": null,
"identity": {
"user": {
"id": "1f35f2e6-9cab-44ad-8d5a-b74c14720000",
}
}
}
],
"producers": [],
"contributors": []
},
"lobbyBypassSettings": {
"scope": "organization",
"isDialInBypassEnabled": false
},
"audioConferencing": {
"conferenceId": "(redacted)",
"tollNumber": "+1 206-485-3005",
"tollFreeNumber": null,
"dialinUrl": "https://dialin.teams.microsoft.com/0e73a853-1cc2-436c-b18c-9f53e0a97c24?id=(redacted)"
},
"chatInfo": {
"threadId": "19:7ebda77322dd4505ac4dedb5b67df076@thread.tacv2",
"messageId": "0",
"replyChainMessageId": null
},
}