Abrufen von Änderungsbenachrichtigungen für Updates virtueller Microsoft Teams-Ereignisse
Änderungsbenachrichtigungen in Microsoft Graph unterstützen Abonnements für virtuelle Ereignisse. Änderungsbenachrichtigungen bieten ein Modell mit geringer Latenz, da Sie einen Webhook für virtuelle Microsoft Teams-Ereignisse verwalten können. Abonnements für virtuelle Ereignisse haben einen maximalen Zeitraum von einem Tag. Um die Lebensdauer eines Abonnements zu verlängern, muss das Abonnement vor dem Ablaufzeitraum verlängert werden. Alternativ kann sich ein Benutzer entscheiden, nach Ablauf eines vorhandenen Abonnements ein neues Abonnement für die Ressource zu erstellen. Weitere Informationen finden Sie unter Verwenden der Microsoft Graph-API zum Abrufen von Änderungsbenachrichtigungen.
Berechtigungen
Berechtigungstyp | Berechtigungen (von der Berechtigung mit den wenigsten Rechten zu der mit den meisten Rechten) | Unterstützte Versionen |
---|---|---|
Delegiert (Geschäfts-, Schul- oder Unikonto) | VirtualEvent.Read, VirtualEvent.ReadWrite | v1.0, Beta |
Delegiert (persönliches Microsoft-Konto) | Nicht unterstützt | Nicht unterstützt |
Anwendung | VirtualEvent.Read.All | v1.0, Beta |
Abonnierende virtuelle Ereignisse
Die folgende Tabelle enthält eine Zusammenfassung der abonnierbaren virtuellen Ereignistypen, der in der Abonnementnutzlast verwendeten Ressourcen-URLs und der unterstützten Änderungstypen für das Benachrichtigungsabonnement.
Virtuelle Ereignistypen | Ressourcen-URL | Unterstützte Änderungstypen | Unterstützte Berechtigungstypen |
---|---|---|---|
Alle Ereignisse (Mandantenebene) | solutions/virtualEvents/events |
erstellt | App |
Alle Ereignisse (Mandantenebene nach Organisator-/Co-Organizer-IDs) | solutions/virtualEvents/events/getEventsFromOrganizers(organizerIds=['id1', 'id2']) |
erstellt | App |
Die Veranstaltungen eines bestimmten Webinars | solutions/virtualEvents/webinars/{webinarId} |
aktualisierte | Anwendung, delegiert |
Anwesenheit melden bereite Ereignisse für ein Webinar | solutions/virtualEvents/webinars/{webinarId}/getAttendanceReports |
erstellt | Anwendung, delegiert |
Die Sitzungsereignisse eines Webinars | solutions/virtualEvents/webinars/{webinarId}/sessions |
erstellt, aktualisiert | Anwendung, delegiert |
Die Registrierungsereignisse eines Webinars | solutions/virtualEvents/webinars/{webinarId}/registrations |
erstellt, aktualisiert | Anwendung, delegiert |
Anmerkung: Ersetzen Sie Werte in durch Klammern durch tatsächliche Werte.
Abonnieren aller Ereignisse, die in einem Mandanten erstellt wurden
Sie können Abonnements für alle Ereignisse einer eindeutigen App und eines Mandanten in der Abonnementnutzlast angeben, indem Sie die folgende Syntax verwenden: solutions/virtualEvents/events
. Das Abonnement legt die Benachrichtigungs-URL fest, um alle vom Ereignis erstellten Benachrichtigungen in einem Mandanten für virtuelle Ereignisse zu empfangen. Für dieses Abonnement werden nur von Ereignissen erstellte Benachrichtigungen unterstützt. Ein Mandant kann nur über einen Abonnementtyp pro Anwendung verfügen. Benutzerdelegierte Berechtigungen für virtuelle Ereignisse sind auf das Erstellen dieser Art von Abonnement beschränkt.
POST https://graph.microsoft.com/v1.0/subscriptions
Content-Type: application/json
{
"changeType": "created",
"notificationUrl": "https://webhook.contoso.com/api",
"lifecycleNotificationUrl": "https://webhook.contoso.com/api",
"resource": "solutions/virtualEvents/events",
"expirationDateTime": "2021-02-01T11:00:00.0000000Z",
"clientState": "secretClientState"
}
Abonnieren aller Ereignisse, die in einem Mandanten mit relevanten Organisatoren erstellt wurden
Sie können alle Ereignisse abonnieren, die Mitglieder einer Gruppe von Organisatoren oder Mitorganisatoren enthalten, indem Sie die folgende Ressource verwenden: solutions/virtualEvents/events/getEventsFromOrganizers(organizerIds=['id1', 'id2'])
. Diese Abonnements erhalten alle erstellten Benachrichtigungen für alle virtuellen Ereignisse für eine Reihe von Organisator- oder Mitorganisator-IDs. Dieses Abonnement gilt als Abonnement für alle Ereignisse, die in einem Mandanten erstellt werden. Benutzerdelegierte Berechtigungen für virtuelle Ereignisse sind auf das Erstellen dieser Art von Abonnement beschränkt.
POST https://graph.microsoft.com/v1.0/subscriptions
Content-Type: application/json
{
"changeType": "created",
"notificationUrl": "https://webhook.contoso.com/api",
"lifecycleNotificationUrl": "https://webhook.contoso.com/api",
"resource": "solutions/virtualEvents/events/getEventsFromOrganizers(organizerIds=['id1', 'id2'])",
"expirationDateTime": "2021-02-01T11:00:00.0000000Z",
"clientState": "secretClientState"
}
Abonnieren aktualisierter Ereignisse eines bestimmten Webinars
Um aktualisierte Benachrichtigungen für ein bestimmtes Webinar zu erhalten, müssen Sie mithilfe der folgenden Ressource ein Abonnement für dieses einzigartige Webinar erstellen: solutions/virtualEvents/webinars/{webinarId}
.
Eine Anwendung kann nur über ein Abonnement pro Webinar innerhalb eines Mandanten verfügen. Mit einem vom Benutzer delegierten Token können Sie ein Abonnement für den Empfang von Webinarupdatebenachrichtigungen innerhalb eines Mandanten einrichten. Dieses Abonnement ist nur für Benutzer verfügbar, die Webinare im selben Mandanten wie der Ereignishost organisiert oder gemeinsam organisiert haben.
POST https://graph.microsoft.com/v1.0/subscriptions
Content-Type: application/json
{
"changeType": "updated",
"notificationUrl": "https://webhook.contoso.com/api",
"lifecycleNotificationUrl": "https://webhook.contoso.com/api",
"resource": "solutions/virtualEvents/webinars/{webinarId}",
"expirationDateTime": "2021-02-01T11:00:00.0000000Z",
"clientState": "secretClientState"
}
Abonnieren von Anwesenheitsberichtsereignissen für alle Sitzungen in einem Webinar
Um Benachrichtigungen zu erhalten, wenn Anwesenheitsberichte für Sitzungen in einem webinar für virtuelle Ereignisse verfügbar werden, muss ein Abonnement mit der folgenden Ressource erstellt werden: solutions/virtualEvents/webinars/{webinarId}/getAttendanceReports
.
Eine Anwendung kann nur über ein Abonnement für die Anwesenheitsberichte eines Webinars innerhalb eines Mandanten verfügen. Mit einem vom Benutzer delegierten Token können Sie ein Abonnement für den Empfang von Webinarupdatebenachrichtigungen innerhalb eines Mandanten einrichten. Dieses Abonnement ist nur für Benutzer verfügbar, die Webinare im selben Mandanten wie der Ereignishost organisiert oder gemeinsam organisiert haben.
POST https://graph.microsoft.com/v1.0/subscriptions
Content-Type: application/json
{
"changeType": "created",
"notificationUrl": "https://webhook.contoso.com/api",
"lifecycleNotificationUrl": "https://webhook.contoso.com/api",
"resource": "solutions/virtualEvents/webinars/{webinarId}/getAttendanceReports",
"expirationDateTime": "2021-02-01T11:00:00.0000000Z",
"clientState": "secretClientState"
}
Abonnieren von Sitzungsereignisbenachrichtigungen für ein Webinar
Um Benachrichtigungen für Sitzungen zu abonnieren, die in einem Webinar erstellt oder aktualisiert werden, geben Sie die Ressource als an solutions/virtualEvents/webinars/{webinarId}/sessions
.
Eine Anwendung kann nur über ein einzelnes Abonnement auf Sitzungsebene pro Webinar in einem Mandanten verfügen. Mit einem vom Benutzer delegierten Token können Sie ein Abonnement für den Empfang von Webinarupdatebenachrichtigungen innerhalb eines Mandanten einrichten. Dieses Abonnement ist nur für Benutzer verfügbar, die Webinare im selben Mandanten wie der Ereignishost organisiert oder gemeinsam organisiert haben.
POST https://graph.microsoft.com/v1.0/subscriptions
Content-Type: application/json
{
"changeType": "created, updated",
"notificationUrl": "https://webhook.contoso.com/api",
"lifecycleNotificationUrl": "https://webhook.contoso.com/api",
"resource": "solutions/virtualEvents/webinars/{webinarId}/sessions",
"expirationDateTime": "2021-02-01T11:00:00.0000000Z",
"clientState": "secretClientState"
}
Abonnieren von Besprechungsanrufereignissen einer bestimmten Sitzung
Informationen zum Abonnieren von Besprechungsanrufereignissen einer bestimmten Sitzung finden Sie unter Abrufen von Änderungsbenachrichtigungen für Microsoft Teams-Besprechungsanrufaktualisierungen.
Abonnieren von Registrierungsereignissen für ein Webinar
Um Benachrichtigungen für Registrierungsereignisse eines Webinars zu abonnieren, geben Sie die Ressource als an solutions/virtualEvents/webinars/{webinarId}/registrations
.
Eine Anwendung kann nur über ein einzelnes Abonnement der Registrierungsstufe pro Webinar innerhalb eines Mandanten verfügen. Mit einem vom Benutzer delegierten Token können Sie ein Abonnement für den Empfang von Webinarupdatebenachrichtigungen innerhalb eines Mandanten einrichten. Das Abonnement ist jedoch nur für Benutzer verfügbar, die Webinare im selben Mandanten wie der Ereignishost organisiert oder gemeinsam organisiert haben.
POST https://graph.microsoft.com/v1.0/subscriptions
Content-Type: application/json
{
"changeType": "created, updated",
"notificationUrl": "https://webhook.contoso.com/api",
"lifecycleNotificationUrl": "https://webhook.contoso.com/api",
"resource": "solutions/virtualEvents/webinars/{webinarId}/registrations",
"expirationDateTime": "2021-02-01T11:00:00.0000000Z",
"clientState": "secretClientState"
}
Empfangen von Ereignisbenachrichtigungen
Benachrichtigungen enthalten die Ressourcen-URL der geänderten Ressource. Sie können eine separate Anforderung an die Ressourcen-URL senden, um Informationen zu einer erstellten oder aktualisierten Ressource abzurufen.
Benachrichtigungstypen
In der folgenden Tabelle sind die unterstützten Benachrichtigungs- und Änderungstypen für die Ressource für virtuelle Ereignisse angegeben.
Benachrichtigungstyp | Ressourcen-ID | Änderungstypen |
---|---|---|
Webinar | solutions/virtualEvents/webinars/{webinarId} |
erstellt, aktualisiert |
Session | solutions/virtualEvents/webinars/{webinarId}/sessions/{sessionId} |
erstellt, aktualisiert |
Registrierung | solutions/virtualEvents/webinars/{webinarId}/registrations/{registrationId} |
erstellt, aktualisiert |
Besprechungsteilnahmebericht | solutions/virtualEvents/webinars/{webinarId}/getAttendanceReports |
erstellt |
Beispiele für Ereignisbenachrichtigungen
Die folgenden JSON-Beispiele zeigen die Antworten für jeden unterstützten Änderungstyp eines Ereignisses.
Ereignis erstellt
{
"value": [
{
"subscriptionId": "7015b436-a8b8-4260-af80-5af8cba32e62",
"clientState": "secret client state",
"changeType": "created",
"tenantId": "f5b076c8-b508-4ba3-a1a7-19d1c0bcef03",
"resource": "solutions/virtualEvents/events/",
"subscriptionExpirationDateTime": "2023-01-28T00:00:00.0000000Z",
"resourceData": {
"@odata.id": "solutions/virtualEvents/webinars/{webinarId}/",
"@odata.type": "#microsoft.graph.virtualEvent",
"id": "solutions/virtualEvents/webinars/{webinarId}/"
}
}
]
}
Ereignis aktualisiert
{
"value": [
{
"subscriptionId": "7015b436-a8b8-4260-af80-5af8cba32e62",
"clientState": "secret client state",
"changeType": "updated",
"tenantId": "f5b076c8-b508-4ba3-a1a7-19d1c0bcef03",
"resource": "solutions/virtualEvents/webinars/{webinarId}/",
"subscriptionExpirationDateTime": "2023-01-28T00:00:00.0000000Z",
"resourceData": {
"@odata.id": "solutions/virtualEvents/webinars/{webinarId}/",
"@odata.type": "#microsoft.graph.virtualEvent",
"id": "solutions/virtualEvents/webinars/{webinarId}/"
}
}
]
}
Beispiele für Sitzungsbenachrichtigungen
Die folgenden JSON-Beispiele zeigen die Antworten für jeden unterstützten Änderungstyp einer Sitzung.
Sitzung erstellt
{
"value": [
{
"subscriptionId": "7015b436-a8b8-4260-af80-5af8cba32e62",
"clientState": "secret client state",
"changeType": "created",
"tenantId": "f5b076c8-b508-4ba3-a1a7-19d1c0bcef03",
"resource": "solutions/virtualEvents/webinars/{webinarId}/sessions",
"subscriptionExpirationDateTime": "2023-01-28T00:00:00.0000000Z",
"resourceData": {
"@odata.id": "solutions/virtualEvents/webinars/{webinarId}/sessions/{sessionId}",
"@odata.type": "#microsoft.graph.virtualEventSession",
"id": "solutions/virtualEvents/webinars/{webinarId}/sessions/{sessionId}"
}
}
]
}
Sitzung aktualisiert
{
"value": [
{
"subscriptionId": "7015b436-a8b8-4260-af80-5af8cba32e62",
"clientState": "secret client state",
"changeType": "updated",
"tenantId": "f5b076c8-b508-4ba3-a1a7-19d1c0bcef03",
"resource": "solutions/virtualEvents/webinars/{webinarId}/sessions",
"subscriptionExpirationDateTime": "2023-01-28T00:00:00.0000000Z",
"resourceData": {
"@odata.id": "solutions/virtualEvents/webinars/{webinarId}/sessions/{sessionId}",
"@odata.type": "#microsoft.graph.virtualEventSession",
"id": "solutions/virtualEvents/webinars/{webinarId}/sessions/{sessionId}"
}
}
]
}
Aktualisierte Ereignisse für Sitzungsbesprechungsanrufe
Informationen zu den Arten von Benachrichtigungen, die für Besprechungsanrufaktualisierungen empfangen werden, finden Sie unter Ereignisbenachrichtigungstypen.
Beispiele für Registrierungsbenachrichtigungen
Die folgenden JSON-Beispiele zeigen die Antworten für jeden unterstützten Änderungstyp einer Registrierung.
Registrierung erstellt
{
"value": [
{
"subscriptionId": "7015b436-a8b8-4260-af80-5af8cba32e62",
"clientState": "secret client state",
"changeType": "created",
"tenantId": "f5b076c8-b508-4ba3-a1a7-19d1c0bcef03",
"resource": "solutions/virtualEvents/webinars/{webinarId}/registrations",
"subscriptionExpirationDateTime": "2023-01-28T00:00:00.0000000Z",
"resourceData": {
"@odata.id": "solutions/virtualEvents/webinars/{webinarId}/registrations/{registrationId}",
"@odata.type": "#microsoft.graph.virtualEventRegistration",
"id": "solutions/virtualEvents/webinars/{webinarId}/registrations/{registrationId}"
}
}
]
}
Registrierung aktualisiert
{
"value": [
{
"subscriptionId": "7015b436-a8b8-4260-af80-5af8cba32e62",
"clientState": "secret client state",
"changeType": "updated",
"tenantId": "f5b076c8-b508-4ba3-a1a7-19d1c0bcef03",
"resource": "solutions/virtualEvents/webinars/{webinarId}/registrations",
"subscriptionExpirationDateTime": "2023-01-28T00:00:00.0000000Z",
"resourceData": {
"@odata.id": "solutions/virtualEvents/webinars/{webinarId}/registrations/{registrationId}",
"@odata.type": "#microsoft.graph.virtualEventRegistration",
"id": "solutions/virtualEvents/webinars/{webinarId}/registrations/{registrationId}"
}
}
]
}
Anwesenheitsbericht erstellt
Ereignisse, die von einem Anwesenheitsbericht erstellt werden, geben den Endpunkt des meetingAttendanceReport-Objekts zurück. Benutzer können diesen Endpunkt in **resourceData verwenden.@odata.id** -Eigenschaft, um die Details im meetingAttendanceReport-Objekt abzufragen.
{
"value": [
{
"subscriptionId": "7015b436-a8b8-4260-af80-5af8cba32e62",
"clientState": "secret client state",
"changeType": "created",
"tenantId": "f5b076c8-b508-4ba3-a1a7-19d1c0bcef03",
"resource": "solutions/virtualEvents/webinars/{webinarId}/getAttendanceReports",
"subscriptionExpirationDateTime": "2023-01-28T00:00:00.0000000Z",
"resourceData": {
"@odata.id": "solutions/virtualEvents/webinars/{webinarId}/sessions/{sessionId}/attendanceReports/{reportId}",
"@odata.type": "#microsoft.graph.meetingAttendanceReport",
"id": "{reportId}"
}
}
]
}