Crear una reunión en línea en nombre de un usuario.
Sugerencia
Esta API crea una reunión independiente que no está asociada a ningún evento en el calendario del usuario; Por lo tanto, las reuniones creadas a través de esta API no se muestran en el calendario del usuario.
Esta API no crea un evento en directo de Teams.
Para poder recuperar las transcripciones de reuniones en una fase posterior, use la API create event que está respaldada por el calendario.
Elija el permiso o los permisos marcados como con privilegios mínimos para esta API. Use un permiso o permisos con privilegios superiores solo si la aplicación lo requiere. Para obtener más información sobre los permisos delegados y de aplicación, consulte Tipos de permisos. Para obtener más información sobre estos permisos, consulte la referencia de permisos.
Tipo de permiso
Permisos con privilegios mínimos
Permisos con privilegios más altos
Delegado (cuenta profesional o educativa)
OnlineMeetings.ReadWrite
No disponible.
Delegado (cuenta personal de Microsoft)
No admitida.
No admitida.
Aplicación
No admitida.
No admitida.
Para usar el permiso de aplicación para esta API, los administradores de espacios empresariales deben crear una directiva de acceso a la aplicación y concedérsela a un usuario para que autorice a la aplicación configurada en la directiva a crear reuniones en línea en nombre de ese usuario (con el identificador de usuario especificado en la ruta de acceso de la solicitud).
Solicitud HTTP
Para crear una reunión en línea con el permiso delegado (/me) y de la aplicación (/users/{userId}):
POST /me/onlineMeetings
POST /users/{userId}/onlineMeetings
Si la solicitud contiene un Accept-Language encabezado de HTTP, el content de joinInformation estará en la variante de idioma y la configuración regional especificada en el encabezado de Accept-Language. El contenido predeterminado está en inglés.
Cuerpo de la solicitud
En el cuerpo de la solicitud, proporcione una representación JSON de un objeto onlineMeeting.
Precaución
Actualmente no se admite la asignación del presenter rol o coorganizer a los usuarios que no están registrados en Microsoft Entra ID.
Respuesta
Si se ejecuta correctamente, este método devuelve un código de respuesta 201 Created y un objeto onlineMeeting en el cuerpo de la respuesta.
Ejemplos
Ejemplo 1: crear una reunión en línea con un token de usuario
En el ejemplo siguiente se crea una reunión en línea con un token de usuario.
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Models;
var requestBody = new OnlineMeeting
{
StartDateTime = DateTimeOffset.Parse("2019-07-12T14:30:34.2444915-07:00"),
EndDateTime = DateTimeOffset.Parse("2019-07-12T15:00:34.2464912-07:00"),
Subject = "User Token Meeting",
};
// 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.PostAsync(requestBody);
// 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"
graphmodels "github.com/microsoftgraph/msgraph-sdk-go/models"
//other-imports
)
requestBody := graphmodels.NewOnlineMeeting()
startDateTime , err := time.Parse(time.RFC3339, "2019-07-12T14:30:34.2444915-07:00")
requestBody.SetStartDateTime(&startDateTime)
endDateTime , err := time.Parse(time.RFC3339, "2019-07-12T15:00:34.2464912-07:00")
requestBody.SetEndDateTime(&endDateTime)
subject := "User Token Meeting"
requestBody.SetSubject(&subject)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
onlineMeetings, err := graphClient.Me().OnlineMeetings().Post(context.Background(), requestBody, nil)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
OnlineMeeting onlineMeeting = new OnlineMeeting();
OffsetDateTime startDateTime = OffsetDateTime.parse("2019-07-12T14:30:34.2444915-07:00");
onlineMeeting.setStartDateTime(startDateTime);
OffsetDateTime endDateTime = OffsetDateTime.parse("2019-07-12T15:00:34.2464912-07:00");
onlineMeeting.setEndDateTime(endDateTime);
onlineMeeting.setSubject("User Token Meeting");
OnlineMeeting result = graphClient.me().onlineMeetings().post(onlineMeeting);
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph import GraphServiceClient
from msgraph.generated.models.online_meeting import OnlineMeeting
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = OnlineMeeting(
start_date_time = "2019-07-12T14:30:34.2444915-07:00",
end_date_time = "2019-07-12T15:00:34.2464912-07:00",
subject = "User Token Meeting",
)
result = await graph_client.me.online_meetings.post(request_body)
Ejemplo 2: Creación de una reunión en línea que requiera un código de acceso
En el ejemplo siguiente se muestra cómo agregar un código de acceso a una reunión. El código de acceso se usa cuando se une a una reunión con un joinMeetingId. Para obtener más información, vea joinMeetingIdSettings.
Solicitud
Este es un ejemplo de una solicitud.
Nota: El código de acceso se genera automáticamente y no se admite un código de acceso personalizado.
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Models;
var requestBody = new OnlineMeeting
{
StartDateTime = DateTimeOffset.Parse("2019-07-12T14:30:34.2444915-07:00"),
EndDateTime = DateTimeOffset.Parse("2019-07-12T15:00:34.2464912-07:00"),
Subject = "User meeting",
JoinMeetingIdSettings = new JoinMeetingIdSettings
{
IsPasscodeRequired = true,
},
};
// 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.PostAsync(requestBody);
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
OnlineMeeting onlineMeeting = new OnlineMeeting();
OffsetDateTime startDateTime = OffsetDateTime.parse("2019-07-12T14:30:34.2444915-07:00");
onlineMeeting.setStartDateTime(startDateTime);
OffsetDateTime endDateTime = OffsetDateTime.parse("2019-07-12T15:00:34.2464912-07:00");
onlineMeeting.setEndDateTime(endDateTime);
onlineMeeting.setSubject("User meeting");
JoinMeetingIdSettings joinMeetingIdSettings = new JoinMeetingIdSettings();
joinMeetingIdSettings.setIsPasscodeRequired(true);
onlineMeeting.setJoinMeetingIdSettings(joinMeetingIdSettings);
OnlineMeeting result = graphClient.me().onlineMeetings().post(onlineMeeting);
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph import GraphServiceClient
from msgraph.generated.models.online_meeting import OnlineMeeting
from msgraph.generated.models.join_meeting_id_settings import JoinMeetingIdSettings
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = OnlineMeeting(
start_date_time = "2019-07-12T14:30:34.2444915-07:00",
end_date_time = "2019-07-12T15:00:34.2464912-07:00",
subject = "User meeting",
join_meeting_id_settings = JoinMeetingIdSettings(
is_passcode_required = True,
),
)
result = await graph_client.me.online_meetings.post(request_body)
Ejemplo 3: Creación de una reunión en línea que no requiere un código de acceso
Cuando isPasscodeRequired se establece false en o cuando no se especifica joinMeetingIdSettings en la solicitud, la reunión en línea generada no tendrá un código de acceso.
POST https://graph.microsoft.com/v1.0/me/onlineMeetings
Content-Type: application/json
{
"startDateTime":"2019-07-12T14:30:34.2444915-07:00",
"endDateTime":"2019-07-12T15:00:34.2464912-07:00",
"subject":"User meeting in Microsoft Teams channel.",
"joinMeetingIdSettings": {
"isPasscodeRequired": false
}
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Models;
var requestBody = new OnlineMeeting
{
StartDateTime = DateTimeOffset.Parse("2019-07-12T14:30:34.2444915-07:00"),
EndDateTime = DateTimeOffset.Parse("2019-07-12T15:00:34.2464912-07:00"),
Subject = "User meeting in Microsoft Teams channel.",
JoinMeetingIdSettings = new JoinMeetingIdSettings
{
IsPasscodeRequired = false,
},
};
// 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.PostAsync(requestBody);
// 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"
graphmodels "github.com/microsoftgraph/msgraph-sdk-go/models"
//other-imports
)
requestBody := graphmodels.NewOnlineMeeting()
startDateTime , err := time.Parse(time.RFC3339, "2019-07-12T14:30:34.2444915-07:00")
requestBody.SetStartDateTime(&startDateTime)
endDateTime , err := time.Parse(time.RFC3339, "2019-07-12T15:00:34.2464912-07:00")
requestBody.SetEndDateTime(&endDateTime)
subject := "User meeting in Microsoft Teams channel."
requestBody.SetSubject(&subject)
joinMeetingIdSettings := graphmodels.NewJoinMeetingIdSettings()
isPasscodeRequired := false
joinMeetingIdSettings.SetIsPasscodeRequired(&isPasscodeRequired)
requestBody.SetJoinMeetingIdSettings(joinMeetingIdSettings)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
onlineMeetings, err := graphClient.Me().OnlineMeetings().Post(context.Background(), requestBody, nil)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
OnlineMeeting onlineMeeting = new OnlineMeeting();
OffsetDateTime startDateTime = OffsetDateTime.parse("2019-07-12T14:30:34.2444915-07:00");
onlineMeeting.setStartDateTime(startDateTime);
OffsetDateTime endDateTime = OffsetDateTime.parse("2019-07-12T15:00:34.2464912-07:00");
onlineMeeting.setEndDateTime(endDateTime);
onlineMeeting.setSubject("User meeting in Microsoft Teams channel.");
JoinMeetingIdSettings joinMeetingIdSettings = new JoinMeetingIdSettings();
joinMeetingIdSettings.setIsPasscodeRequired(false);
onlineMeeting.setJoinMeetingIdSettings(joinMeetingIdSettings);
OnlineMeeting result = graphClient.me().onlineMeetings().post(onlineMeeting);
<?php
use Microsoft\Graph\GraphServiceClient;
use Microsoft\Graph\Generated\Models\OnlineMeeting;
use Microsoft\Graph\Generated\Models\JoinMeetingIdSettings;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new OnlineMeeting();
$requestBody->setStartDateTime(new \DateTime('2019-07-12T14:30:34.2444915-07:00'));
$requestBody->setEndDateTime(new \DateTime('2019-07-12T15:00:34.2464912-07:00'));
$requestBody->setSubject('User meeting in Microsoft Teams channel.');
$joinMeetingIdSettings = new JoinMeetingIdSettings();
$joinMeetingIdSettings->setIsPasscodeRequired(false);
$requestBody->setJoinMeetingIdSettings($joinMeetingIdSettings);
$result = $graphServiceClient->me()->onlineMeetings()->post($requestBody)->wait();
Import-Module Microsoft.Graph.CloudCommunications
$params = @{
startDateTime = [System.DateTime]::Parse("2019-07-12T14:30:34.2444915-07:00")
endDateTime = [System.DateTime]::Parse("2019-07-12T15:00:34.2464912-07:00")
subject = "User meeting in Microsoft Teams channel."
joinMeetingIdSettings = @{
isPasscodeRequired = $false
}
}
# A UPN can also be used as -UserId.
New-MgUserOnlineMeeting -UserId $userId -BodyParameter $params
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph import GraphServiceClient
from msgraph.generated.models.online_meeting import OnlineMeeting
from msgraph.generated.models.join_meeting_id_settings import JoinMeetingIdSettings
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = OnlineMeeting(
start_date_time = "2019-07-12T14:30:34.2444915-07:00",
end_date_time = "2019-07-12T15:00:34.2464912-07:00",
subject = "User meeting in Microsoft Teams channel.",
join_meeting_id_settings = JoinMeetingIdSettings(
is_passcode_required = False,
),
)
result = await graph_client.me.online_meetings.post(request_body)
POST https://graph.microsoft.com/v1.0/me/onlineMeetings
Content-Type: application/json
{
"startDateTime":"2019-07-12T14:30:34.2444915-07:00",
"endDateTime":"2019-07-12T15:00:34.2464912-07:00",
"subject":"User meeting in Microsoft Teams channel."
}
Respuesta
Este es un ejemplo de la respuesta:
Nota: Se puede acortar el objeto de respuesta que se muestra aquí para mejorar la legibilidad.