Microsoft Graph のサポート サブスクリプションの通知を仮想イベントに変更します。 変更通知では、Webhook を維持して仮想イベントをMicrosoft Teamsできるようにすることで、待機時間の短いモデルが提供されます。 仮想イベント サブスクリプションには、1 日の最大期間があります。 サブスクリプションの有効期間を延長するには、有効期限が切れる前にサブスクリプションを更新する必要があります。 または、ユーザーは、既存のサブスクリプションの有効期限が切れた後に、リソースの新しいサブスクリプションを作成することを決定する場合があります。 詳細については、「Microsoft Graph APIを使用して変更通知を取得する」を参照してください。
アクセス許可
| アクセス許可の種類 | アクセス許可 (特権の小さいものから大きいものへ) | サポートされるバージョン |
|---|---|---|
| 委任 (職場または学校のアカウント) | VirtualEvent.Read、VirtualEvent.ReadWrite | v1.0、ベータ版 |
| 委任 (個人用 Microsoft アカウント) | サポートされていません。 | サポートされていません。 |
| アプリケーション | VirtualEvent.Read.All | v1.0、ベータ版 |
サブスクライブ可能な仮想イベント
次の表は、サブスクライブ可能な仮想イベントの種類、サブスクリプション ペイロードで使用されるリソース URL、および通知サブスクリプションでサポートされている変更の種類の概要を示しています。
| 仮想イベントの種類 | リソース URL | サポートされている変更の種類 | サポートされているアクセス許可の種類 |
|---|---|---|---|
| すべてのイベント (テナント レベル) | solutions/virtualEvents/events |
作成済み | アプリケーション |
| すべてのイベント (開催者/共同開催者 ID 別のテナント レベル) | solutions/virtualEvents/events/getEventsFromOrganizers(organizerIds=['id1', 'id2']) |
作成済み | アプリケーション |
| 特定のウェビナーのイベント | solutions/virtualEvents/webinars/{webinarId} |
更新 | 委任されたアプリケーション |
| ウェビナーの出席レポート準備イベント | solutions/virtualEvents/webinars/{webinarId}/getAttendanceReports |
作成済み | 委任されたアプリケーション |
| **ウェビナー ** のセッション イベント | solutions/virtualEvents/webinars/{webinarId}/sessions |
作成、更新 | 委任されたアプリケーション |
| ウェビナーの登録イベント | solutions/virtualEvents/webinars/{webinarId}/registrations |
作成、更新 | 委任されたアプリケーション |
| 特定のタウンホールのイベント | solutions/virtualEvents/townhalls/{townhallId} |
更新 | 委任されたアプリケーション |
| タウンホールの出席レポート準備イベント | solutions/virtualEvents/townhalls/{townhallId}/getAttendanceReports |
作成済み | 委任されたアプリケーション |
| 特定のタウンホールのセッション イベント | solutions/virtualEvents/townhalls/{townhallId}/sessions |
作成、更新 | 委任されたアプリケーション |
| ビデオ オンデマンド対応のパブリケーション | solutions/virtualEvents/{eventType}/{eventId}/getVideoOnDemandPublication |
更新 | 委任されたアプリケーション |
テナントで作成されたすべてのイベントをサブスクライブする
サブスクリプション ペイロード内の一意のアプリとテナントのすべてのイベントに対してサブスクリプションを指定する場合は、次の構文を使用します: solutions/virtualEvents/events。 サブスクリプションは、仮想イベントのテナントでイベントが作成されたすべての通知を受信する通知 URL を指定します。 このサブスクリプションでは、イベントによって作成された通知のみがサポートされます。 テナントは、アプリケーションごとに 1 種類のサブスクリプションのみを持つことができます。 ユーザー委任仮想イベントのアクセス許可は、この種類のサブスクリプションの作成から制限されます。
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"
}
関連する開催者とテナントで作成されたすべてのイベントをサブスクライブする
一連の開催者または共同開催者のメンバーを含むすべてのイベントをサブスクライブするには、次のリソースを使用します: solutions/virtualEvents/events/getEventsFromOrganizers(organizerIds=['id1', 'id2'])。 これらのサブスクリプションは、開催者または共同開催者 ID のセットのすべての仮想イベントに対して作成されたすべての通知を受け取ります。 このサブスクリプションは、テナントで作成されたすべてのイベントのサブスクリプションと見なされます。 ユーザー委任仮想イベントのアクセス許可は、この種類のサブスクリプションの作成から制限されます。
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"
}
特定のウェビナーの更新されたイベントをサブスクライブする
特定のウェビナーの更新された通知を受信するには、次のリソースを使用して、その一意のウェビナーのサブスクリプションを作成する必要があります: solutions/virtualEvents/webinars/{webinarId}。
アプリケーションは、テナント内のウェビナーごとに 1 つのサブスクリプションのみを持つことができます。 ユーザー委任トークンを使用すると、テナント内でウェビナーの更新通知を受信するための 1 つのサブスクリプションを設定できます。 このサブスクリプションは、イベント ホストと同じテナントでウェビナーを開催または共同開催したユーザーのみが使用できます。
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"
}
ウェビナーのすべてのセッションの出席レポート イベントをサブスクライブする
仮想イベント ウェビナーのセッションで出席レポートが利用可能になったときに通知を受信するには、サブスクリプションを作成し、次のリソースを使用する必要があります: solutions/virtualEvents/webinars/{webinarId}/getAttendanceReports。
アプリケーションは、テナント内のウェビナーの出席レポートのサブスクリプションを 1 つだけ持つことができます。 ユーザー委任トークンを使用すると、テナント内でウェビナーの更新通知を受信するための 1 つのサブスクリプションを設定できます。 このサブスクリプションは、イベント ホストと同じテナントでウェビナーを開催または共同開催したユーザーのみが使用できます。
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"
}
ウェビナーのセッション イベント通知をサブスクライブする
ウェビナーで作成または更新されたセッションの通知をサブスクライブするには、リソースを solutions/virtualEvents/webinars/{webinarId}/sessionsとして指定します。
アプリケーションは、テナント内のウェビナーごとに 1 つのセッション レベルのサブスクリプションのみを持つことができます。 ユーザー委任トークンを使用すると、テナント内でウェビナーの更新通知を受信するための 1 つのサブスクリプションを設定できます。 このサブスクリプションは、イベント ホストと同じテナントでウェビナーを開催または共同開催したユーザーのみが使用できます。
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"
}
ウェビナーのすべてのセッションについてビデオ オンデマンドパブリケーションをサブスクライブする
セッションのビデオ オンデマンド公開が発生した場合の通知をサブスクライブするには、リソースを solutions/virtualEvents/{eventType}/{eventId}/getVideoOnDemandPublication として指定します。
アプリケーションは、ビデオ オンデマンド パブリケーションのテナント内の仮想イベントごとにサブスクリプションのみを持つことができます。 ユーザー委任トークンを使用すると、テナント内の仮想イベントごとに 1 つのサブスクリプションを設定できます。 サブスクリプションは、開催者であるユーザー、またはイベント ホストと同じテナント内の共同開催者としてリストされているユーザーのみが使用できます。
POST https://graph.microsoft.com/beta/subscriptions
{
"changeType": "updated",
"notificationUrl": "https://webhook.contoso.com/api",
"lifecycleNotificationUrl": "https://webhook.contoso.com/api",
"resource": "solutions/virtualEvents/{eventType}/{eventId}/getVideoOnDemandPublication",
"expirationDateTime": "2025-02-01T11:00:00.0000000Z",
"clientState": "secretClientState"
}
特定のセッションの会議呼び出しイベントをサブスクライブする
特定のセッションの会議呼び出しイベントをサブスクライブする方法については、「 Microsoft Teams会議通話の更新に関する変更通知を取得する」を参照してください。
ウェビナーの登録イベントをサブスクライブする
ウェビナーの登録イベントの通知をサブスクライブするには、リソースを solutions/virtualEvents/webinars/{webinarId}/registrationsとして指定します。
アプリケーションは、テナント内のウェビナーごとに 1 つの登録レベルのサブスクリプションのみを持つことができます。 ユーザー委任トークンを使用すると、テナント内でウェビナーの更新通知を受信するための 1 つのサブスクリプションを設定できます。 ただし、サブスクリプションは、イベント ホストと同じテナントでウェビナーを開催または共同開催したユーザーのみが使用できます。
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"
}
特定のタウン ホールの更新されたイベントをサブスクライブする
特定のタウン ホールの更新された通知を受信するには、次のリソースを使用して、その一意のタウン ホールのサブスクリプションを作成する必要があります: solutions/virtualEvents/townhalls/{townhall_id}。
アプリケーションは、テナント内のタウン ホールごとに 1 つのサブスクリプションのみを持つことができます。 ユーザー委任トークンを使用すると、テナント内でタウン ホールの更新通知を受信するための 1 つのサブスクリプションを設定できます。 このサブスクリプションは、イベント ホストと同じテナント内のタウン ホールを整理または共同組織したユーザーのみが使用できます。
POST https://graph.microsoft.com/beta/subscriptions
{
"changeType": "updated",
"notificationUrl": "https://contonso.com",
"lifecycleNotificationUrl": "https://contonso.com",
"resource": "solutions/virtualevents/townhalls/{townhall_id},
"expirationDateTime": "2026-01-31T12:00:00.0000000Z",
"clientState": "virtualevent-townhall-subscription",
}
イベント通知の受信
通知には、変更されたリソースのリソース URL が含まれます。 リソース URL に別の要求を送信して、作成または更新されたリソースに関する情報を取得できます。
通知の種類
次の表は、仮想イベント リソースでサポートされている通知と変更の種類を示しています。
| 通知の種類 | リソース ID | Change Types |
|---|---|---|
| ウェビナー | solutions/virtualEvents/webinars/{webinarId} |
作成、更新 |
| Session | solutions/virtualEvents/webinars/{webinarId}/sessions/{sessionId} |
作成、更新 |
| 登録 | solutions/virtualEvents/webinars/{webinarId}/registrations/{registrationId} |
作成、更新 |
| 会議出席レポート | solutions/virtualEvents/webinars/{webinarId}/getAttendanceReports |
作成済み |
| タウンホール | solutions/virtualEvents/townhalls/{townhallId} |
作成、更新 |
| Session | solutions/virtualEvents/townhalls/{townhallId}/sessions/{sessionId} |
作成、更新 |
| 会議出席レポート | solutions/virtualEvents/townhalls/{webinarId}/getAttendanceReports |
作成済み |
| セッションビデオオンデマンド公開 | solutions/virtualEvents/{eventType}/{eventId}/sessions/{sessionId} |
更新 |
イベント通知の例
次の JSON の例は、サポートされているイベントの変更の種類ごとの応答を示しています。
作成されたイベント
{
"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}/"
}
}
]
}
ウェビナーの更新
{
"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}/"
}
}
]
}
セッション通知の例
次の JSON 例は、サポートされているセッションの変更の種類ごとの応答を示しています。
作成されたセッション
{
"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}"
}
}
]
}
セッションの更新
{
"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}"
}
}
]
}
ビデオオンデマンド公開
仮想イベント セッションに対してビデオ オンデマンドが発行されたときに作成されるイベント。 アプリケーションまたはユーザーは**resourceData.@odata.id** を使用できますプロパティを使用して、ビデオ オンデマンドで使用可能な仮想イベント セッションを検出します。
仮想イベント ウェビナー セッションの通知を受信すると、通知は、仮想イベント ウェビナーのビデオ オンデマンド URL が公開されていることをアプリケーションまたはユーザーにのみ通知します。 仮想イベント セッションのビデオ オンデマンド URL は null であるか、開催者のみが使用できる場合があります。 1 つのビデオ オンデマンド URL がすべてのユーザーに対して機能するわけではないため、アプリケーションまたはユーザーは、異なる参加者に提供する一意のビデオ オンデマンド URL を決定する必要があります。
仮想イベント タウン ホール セッションの場合は、すべての参加者が使用できる仮想イベント セッション オブジェクトでユニバーサル ビデオ オンデマンド URL を使用できます。
{
"value": [
{
"subscriptionId": "7015b436-a8b8-4260-af80-5af8cba32e62",
"clientState": "secret client state",
"changeType": "updated",
"tenantId": "f5b076c8-b508-4ba3-a1a7-19d1c0bcef03",
"resource": "solutions/virtualEvents/{eventType}/{eventId}/getVideoOnDemandPublication",
"subscriptionExpirationDateTime": "2023-01-28T00:00:00.0000000Z",
"resourceData": {
"@odata.id": "solutions/virtualEvents/{eventType}/{eventId}/sessions/{sessionId}",
"@odata.type": "#microsoft.graph.virtualeventsession",
"id": "solutions/virtualEvents/{eventType}/{eventId}/sessions/{sessionId}"
}
}
]
}
セッション会議呼び出しの更新イベント
会議通話の更新に対して受信した通知の種類については、「 イベント通知の種類」を参照してください。
登録通知の例
次の JSON 例は、登録でサポートされている各変更の種類の応答を示しています。
登録が作成されました
{
"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}"
}
}
]
}
登録が更新されました
{
"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}"
}
}
]
}
作成された出席レポート
出席レポートによって作成されたイベントは、 meetingAttendanceReport オブジェクトのエンドポイントを返します。 ユーザーは **resourceData.@odata.id** でこのエンドポイントを使用できますプロパティを使用して meetingAttendanceReport オブジェクトの詳細を照会します。
{
"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}"
}
}
]
}
タウン ホールの作成
{
"value": [
{
"subscriptionId": "eb1226bf-be92-0a00-04c5-43d87ee913c6",
"clientState": "virtualevent-townhall-subscription",
"changeType": "created",
"resource": "solutions/virtualevents/townhalls/{townhallId}",
"subscriptionExpirationDateTime": "2026-01-28T00:00:00.0000000Z",
"resourceData": {
"@odata.type": "#microsoft.graph.virtualEventTownhall",
"@odata.id": "solutions/virtualevents/townhalls/{townhallId}",
"id": "solutions/virtualevents/townhalls/{townhallId}"
}
}
]
}