Erstellen oder Festlegen eines Ereignisses als Onlinebesprechung in einem Outlook-Kalender
Artikel
Verwenden Sie die Outlook-Kalender-API, um ein Meeting zu organisieren, bei dem die eingeladenen Teilnehmer eine Beitritts-URL auswählen und online in Microsoft Teams oder Skype an dem Meeting teilnehmen können.
In einer Organisation, die Onlinebesprechungsanbieter unterstützt, können Administratoren Outlook-Kalender einrichten, um Besprechungen zu unterstützen, die diese Anbieter verwenden, wobei einer dieser Anbieter der Standardanbieter ist. Sie können ein Ereignis in Outlook erstellen oder aktualisieren und Teilnehmern die Teilnahme an der Besprechung über einen unterstützten Anbieter ermöglichen. Sie können die Onlinebesprechungsinformationen des Ereignisses bequem abrufen, einschließlich der URL zur Teilnehmen an der Besprechung.
Hinweis
Mit der Kalender-API können Sie bequem ein Online-Meeting in einem Outlook-Kalender einrichten, bei dem die Teilnehmer per Mausklick dem Meeting beitreten und ihr Erlebnis in Teams oder Skype fortsetzen können. Verwenden Sie die Cloud-Kommunikations-API, um eine individualisiertere, umfassendere Integration in Microsoft Teams oder Skype zu erhalten. Weitere Informationen finden Sie unter Auswahl einer API in Microsoft Graph, um Onlinebesprechungen zu erstellen und daran teilzunehmen.
Kalender und Anbieter von Onlinebesprechungen
Eine Organisation, die einen der folgenden Onlinebesprechungsanbieter unterstützt, kann Outlook-Kalender einrichten und das Organisieren von Onlinebesprechungen ermöglichen:
Microsoft Teams, das im Rahmen einer Microsoft 365 Business- oder Enterprise-Suite erworben wurde
Suchen Sie nach den Eigenschaften allowedOnlineMeetingProviders und defaultOnlineMeetingProvider, um zu überprüfen, ob ein Outlook-Kalender Anbieter von Onlinebesprechungen unterstützt. Das folgende Beispiel zeigt, dass der Standardkalender des angemeldeten Benutzers zwei Anbieter, Microsoft Teams und Skype for Business, unterstützt und Microsoft Teams als standardmäßigen Anbieter für Onlinebesprechungen verwendet.
Beispiel: Ermitteln, ob ein Kalender einen beliebigen Anbieter für Onlinebesprechungen unterstützt
// Code snippets are only available for the latest version. Current version is 5.x
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Me.Calendar.GetAsync();
// 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"
//other-imports
)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
calendar, err := graphClient.Me().Calendar().Get(context.Background(), nil)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
Calendar result = graphClient.me().calendar().get();
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph import GraphServiceClient
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
result = await graph_client.me.calendar.get()
Erstellen eines Ereignisses und Ermöglichen der Online-Besprechung von Teilnehmern
Sie können eine Besprechung erstellen und den Teilnehmern die Teilnahme an der Onlinebesprechung gestatten, indem Sie isOnlineMeeting auf true und onlineMeetingProvider auf einen der vom übergeordneten Kalender unterstützten Anbieter festlegen. Im folgenden Beispiel wird eine Besprechung im Standardkalender des angemeldeten Benutzers erstellt, und die Teilnehmer können über Microsoft Teams an der Besprechung teilnehmen. Die Antwort enthält ein Ereignis mit Onlinebesprechungsinformationen, die in der onlineMeeting-Eigenschaft angegeben sind.
Hinweis
Sobald Sie eine Onlinebesprechung aktiviert haben, werden die Besprechungsinformationen von Microsoft Graph in onlineMeetingfestgelegt. Daraufhin können Sie weder die onlineMeetingProvider-Eigenschaft noch isOnlineMeeting auf false festlegen, um die Besprechung online zu deaktivieren.
Beispiel: Erstellen und Bereitstellen von Besprechungen als Onlinebesprechung
POST https://graph.microsoft.com/v1.0/me/events
Prefer: outlook.timezone="Pacific Standard Time"
Content-type: application/json
{
"subject": "Prep for customer meeting",
"body": {
"contentType": "HTML",
"content": "Does this time work for you?"
},
"start": {
"dateTime": "2019-11-20T13:00:00",
"timeZone": "Pacific Standard Time"
},
"end": {
"dateTime": "2019-11-20T14:00:00",
"timeZone": "Pacific Standard Time"
},
"location":{
"displayName":"Cordova conference room"
},
"attendees": [
{
"emailAddress": {
"address":"AdeleV@contoso.com",
"name": "Adele Vance"
},
"type": "required"
}
],
"allowNewTimeProposals": true,
"isOnlineMeeting": true,
"onlineMeetingProvider": "teamsForBusiness"
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Models;
var requestBody = new Event
{
Subject = "Prep for customer meeting",
Body = new ItemBody
{
ContentType = BodyType.Html,
Content = "Does this time work for you?",
},
Start = new DateTimeTimeZone
{
DateTime = "2019-11-20T13:00:00",
TimeZone = "Pacific Standard Time",
},
End = new DateTimeTimeZone
{
DateTime = "2019-11-20T14:00:00",
TimeZone = "Pacific Standard Time",
},
Location = new Location
{
DisplayName = "Cordova conference room",
},
Attendees = new List<Attendee>
{
new Attendee
{
EmailAddress = new EmailAddress
{
Address = "AdeleV@contoso.com",
Name = "Adele Vance",
},
Type = AttendeeType.Required,
},
},
AllowNewTimeProposals = true,
IsOnlineMeeting = true,
OnlineMeetingProvider = OnlineMeetingProviderType.TeamsForBusiness,
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Me.Events.PostAsync(requestBody, (requestConfiguration) =>
{
requestConfiguration.Headers.Add("Prefer", "outlook.timezone=\"Pacific Standard Time\"");
});
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
Event event = new Event();
event.setSubject("Prep for customer meeting");
ItemBody body = new ItemBody();
body.setContentType(BodyType.Html);
body.setContent("Does this time work for you?");
event.setBody(body);
DateTimeTimeZone start = new DateTimeTimeZone();
start.setDateTime("2019-11-20T13:00:00");
start.setTimeZone("Pacific Standard Time");
event.setStart(start);
DateTimeTimeZone end = new DateTimeTimeZone();
end.setDateTime("2019-11-20T14:00:00");
end.setTimeZone("Pacific Standard Time");
event.setEnd(end);
Location location = new Location();
location.setDisplayName("Cordova conference room");
event.setLocation(location);
LinkedList<Attendee> attendees = new LinkedList<Attendee>();
Attendee attendee = new Attendee();
EmailAddress emailAddress = new EmailAddress();
emailAddress.setAddress("AdeleV@contoso.com");
emailAddress.setName("Adele Vance");
attendee.setEmailAddress(emailAddress);
attendee.setType(AttendeeType.Required);
attendees.add(attendee);
event.setAttendees(attendees);
event.setAllowNewTimeProposals(true);
event.setIsOnlineMeeting(true);
event.setOnlineMeetingProvider(OnlineMeetingProviderType.TeamsForBusiness);
Event result = graphClient.me().events().post(event, requestConfiguration -> {
requestConfiguration.headers.add("Prefer", "outlook.timezone=\"Pacific Standard Time\"");
});
<?php
use Microsoft\Graph\GraphServiceClient;
use Microsoft\Graph\Generated\Users\Item\Events\EventsRequestBuilderPostRequestConfiguration;
use Microsoft\Graph\Generated\Models\Event;
use Microsoft\Graph\Generated\Models\ItemBody;
use Microsoft\Graph\Generated\Models\BodyType;
use Microsoft\Graph\Generated\Models\DateTimeTimeZone;
use Microsoft\Graph\Generated\Models\Location;
use Microsoft\Graph\Generated\Models\Attendee;
use Microsoft\Graph\Generated\Models\EmailAddress;
use Microsoft\Graph\Generated\Models\AttendeeType;
use Microsoft\Graph\Generated\Models\OnlineMeetingProviderType;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new Event();
$requestBody->setSubject('Prep for customer meeting');
$body = new ItemBody();
$body->setContentType(new BodyType('hTML'));
$body->setContent('Does this time work for you?');
$requestBody->setBody($body);
$start = new DateTimeTimeZone();
$start->setDateTime('2019-11-20T13:00:00');
$start->setTimeZone('Pacific Standard Time');
$requestBody->setStart($start);
$end = new DateTimeTimeZone();
$end->setDateTime('2019-11-20T14:00:00');
$end->setTimeZone('Pacific Standard Time');
$requestBody->setEnd($end);
$location = new Location();
$location->setDisplayName('Cordova conference room');
$requestBody->setLocation($location);
$attendeesAttendee1 = new Attendee();
$attendeesAttendee1EmailAddress = new EmailAddress();
$attendeesAttendee1EmailAddress->setAddress('AdeleV@contoso.com');
$attendeesAttendee1EmailAddress->setName('Adele Vance');
$attendeesAttendee1->setEmailAddress($attendeesAttendee1EmailAddress);
$attendeesAttendee1->setType(new AttendeeType('required'));
$attendeesArray []= $attendeesAttendee1;
$requestBody->setAttendees($attendeesArray);
$requestBody->setAllowNewTimeProposals(true);
$requestBody->setIsOnlineMeeting(true);
$requestBody->setOnlineMeetingProvider(new OnlineMeetingProviderType('teamsForBusiness'));
$requestConfiguration = new EventsRequestBuilderPostRequestConfiguration();
$headers = [
'Prefer' => 'outlook.timezone="Pacific Standard Time"',
];
$requestConfiguration->headers = $headers;
$result = $graphServiceClient->me()->events()->post($requestBody, $requestConfiguration)->wait();
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph import GraphServiceClient
from msgraph.generated.users.item.events.events_request_builder import EventsRequestBuilder
from kiota_abstractions.base_request_configuration import RequestConfiguration
from msgraph.generated.models.event import Event
from msgraph.generated.models.item_body import ItemBody
from msgraph.generated.models.body_type import BodyType
from msgraph.generated.models.date_time_time_zone import DateTimeTimeZone
from msgraph.generated.models.location import Location
from msgraph.generated.models.attendee import Attendee
from msgraph.generated.models.email_address import EmailAddress
from msgraph.generated.models.attendee_type import AttendeeType
from msgraph.generated.models.online_meeting_provider_type import OnlineMeetingProviderType
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = Event(
subject = "Prep for customer meeting",
body = ItemBody(
content_type = BodyType.Html,
content = "Does this time work for you?",
),
start = DateTimeTimeZone(
date_time = "2019-11-20T13:00:00",
time_zone = "Pacific Standard Time",
),
end = DateTimeTimeZone(
date_time = "2019-11-20T14:00:00",
time_zone = "Pacific Standard Time",
),
location = Location(
display_name = "Cordova conference room",
),
attendees = [
Attendee(
email_address = EmailAddress(
address = "AdeleV@contoso.com",
name = "Adele Vance",
),
type = AttendeeType.Required,
),
],
allow_new_time_proposals = True,
is_online_meeting = True,
online_meeting_provider = OnlineMeetingProviderType.TeamsForBusiness,
)
request_configuration = RequestConfiguration()
request_configuration.headers.add("Prefer", "outlook.timezone=\"Pacific Standard Time\"")
result = await graph_client.me.events.post(request_body, request_configuration = request_configuration)
Abrufen von Informationen zur Teilnahme an der Onlinebesprechung
Teilnehmer und Organisatoren können mithilfe der isOnlineMeeting-Eigenschaft überprüfen, ob ein Ereignis für die Onlineteilnahme aktiviert ist. Sie können die onlineMeetingProvider verwenden, um den Besprechungsanbieter zu ermitteln, und die onlineMeeting-Eigenschaft für Verbindungsinformationen, einschließlich joinUrl.
Wichtig
Greifen Sie unter Verwendung von joinUrl auf die URL zu, um an einer Onlinebesprechung teilzunehmen, die über die onlineMeeting-Eigenschaft des Ereignisses verfügbar ist. Verwenden Sie nicht die onlineMeetingUrl--Eigenschaft des Ereignisses, da onlineMeetingUrl demnächst eingestellt wird.
Beispiel: Abrufen von Onlinebesprechungsinformationen
GET https://graph.microsoft.com/v1.0/me/events/AAMkADAGu0AABIGYDZAAA=?$select=isOnlineMeeting,onlineMeetingProvider,onlineMeeting
// Code snippets are only available for the latest version. Current version is 5.x
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Me.Events["{event-id}"].GetAsync((requestConfiguration) =>
{
requestConfiguration.QueryParameters.Select = new string []{ "isOnlineMeeting","onlineMeetingProvider","onlineMeeting" };
});
// 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"
graphusers "github.com/microsoftgraph/msgraph-sdk-go/users"
//other-imports
)
requestParameters := &graphusers.EventsItemRequestBuilderGetQueryParameters{
Select: [] string {"isOnlineMeeting","onlineMeetingProvider","onlineMeeting"},
}
configuration := &graphusers.EventsItemRequestBuilderGetRequestConfiguration{
QueryParameters: requestParameters,
}
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
events, err := graphClient.Me().Events().ByEventId("event-id").Get(context.Background(), configuration)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
Event result = graphClient.me().events().byEventId("{event-id}").get(requestConfiguration -> {
requestConfiguration.queryParameters.select = new String []{"isOnlineMeeting", "onlineMeetingProvider", "onlineMeeting"};
});
Import-Module Microsoft.Graph.Calendar
# A UPN can also be used as -UserId.
Get-MgUserEvent -UserId $userId -EventId $eventId -Property "isOnlineMeeting,onlineMeetingProvider,onlineMeeting"
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph import GraphServiceClient
from msgraph.generated.users.item.events.item.event_item_request_builder import EventItemRequestBuilder
from kiota_abstractions.base_request_configuration import RequestConfiguration
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
query_params = EventItemRequestBuilder.EventItemRequestBuilderGetQueryParameters(
select = ["isOnlineMeeting","onlineMeetingProvider","onlineMeeting"],
)
request_configuration = RequestConfiguration(
query_parameters = query_params,
)
result = await graph_client.me.events.by_event_id('event-id').get(request_configuration = request_configuration)
Aktualisieren einer Besprechung, um Teilnehmern die Onlinebesprechung zu ermöglichen
Sie können ein vorhandenes Ereignis ändern, um dieses als Onlinebesprechung verfügbar zu machen, indem Sie isOnlineMeeting auf true und onlineMeetingProvider auf einen der vom übergeordneten Kalender unterstützten Anbieter für Onlinebesprechungen festlegen. Die Antwort enthält ein Ereignis mit den entsprechenden Onlinebesprechungsinformationen, die in der onlineMeeting-Eigenschaft angegeben sind.
Hinweis
Sobald Sie eine Onlinebesprechung aktiviert haben, werden die Besprechungsinformationen von Microsoft Graph in onlineMeetingfestgelegt. Daraufhin können Sie weder die onlineMeetingProvider-Eigenschaft noch isOnlineMeeting auf false festlegen, um die Besprechung online zu deaktivieren.
Beispiel: Aktualisieren einer Besprechung, um sie als Onlinebesprechung verfügbar zu machen
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Models;
var requestBody = new Event
{
IsOnlineMeeting = true,
OnlineMeetingProvider = OnlineMeetingProviderType.TeamsForBusiness,
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Me.Events["{event-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.NewEvent()
isOnlineMeeting := true
requestBody.SetIsOnlineMeeting(&isOnlineMeeting)
onlineMeetingProvider := graphmodels.TEAMSFORBUSINESS_ONLINEMEETINGPROVIDERTYPE
requestBody.SetOnlineMeetingProvider(&onlineMeetingProvider)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
events, err := graphClient.Me().Events().ByEventId("event-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);
Event event = new Event();
event.setIsOnlineMeeting(true);
event.setOnlineMeetingProvider(OnlineMeetingProviderType.TeamsForBusiness);
Event result = graphClient.me().events().byEventId("{event-id}").patch(event);
<?php
use Microsoft\Graph\GraphServiceClient;
use Microsoft\Graph\Generated\Models\Event;
use Microsoft\Graph\Generated\Models\OnlineMeetingProviderType;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new Event();
$requestBody->setIsOnlineMeeting(true);
$requestBody->setOnlineMeetingProvider(new OnlineMeetingProviderType('teamsForBusiness'));
$result = $graphServiceClient->me()->events()->byEventId('event-id')->patch($requestBody)->wait();
Import-Module Microsoft.Graph.Calendar
$params = @{
isOnlineMeeting = $true
onlineMeetingProvider = "teamsForBusiness"
}
# A UPN can also be used as -UserId.
Update-MgUserEvent -UserId $userId -EventId $eventId -BodyParameter $params
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph import GraphServiceClient
from msgraph.generated.models.event import Event
from msgraph.generated.models.online_meeting_provider_type import OnlineMeetingProviderType
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = Event(
is_online_meeting = True,
online_meeting_provider = OnlineMeetingProviderType.TeamsForBusiness,
)
result = await graph_client.me.events.by_event_id('event-id').patch(request_body)