Freigeben über


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}"
      }
    }
  ]
}