次の方法で共有


スケジューリングを拡張する

この記事では、Microsoft Teams と Microsoft Graph で仮想予定をスケジュールするために使用できるオプションについて説明します。 まず、Microsoft Teams 仮想予定で既存のエクスペリエンスをレプリケートする方法について説明します。 次に、コンシューマーに同じ仮想予定エクスペリエンスを提供しながら、独自のスケジューリング システムを使用する方法について説明します。

[前提条件]

この記事の読者は、以下のことを理解している必要があります。

Microsoft 365 スケジューリング システム

Microsoft Teams 仮想予定では、Microsoft Booking API を使用してそれらを管理します。 Teams アプリケーションでは、予約スタッフ メンバーの予約予定が表示され、顧客がコンサルティングに適切な時間を選択できるように [予約] ページが表示されます。 次の手順に従って、スケジューリング用の独自のユーザー インターフェイスをビルドするか、Microsoft 365 スケジューリング システムをソリューションに統合します。

  1. 次の HTTP 要求を使用して、使用可能な予約ビジネスを一覧表示し、Microsoft Graph 予約ビジネス API を使用して仮想予定のビジネスを選択します。
GET https://graph.microsoft.com/v1.0/solutions/bookingBusinesses
Permissions: Bookings.Read.All (delegated)
Response: response.body.value[0].displayName; // ”Contoso lunch delivery”
	        response.body.value[0].id; // "Contosolunchdelivery@contoso.onmicrosoft.com"
  1. Microsoft Graph 予約サービス API を使用して、利用可能な予約サービスを一覧表示し、仮想予定のサービスを選択します。
GET https://graph.microsoft.com/v1.0/solutions/bookingBusinesses/ Contosolunchdelivery@contoso.onmicrosoft.com/services
Permissions: Bookings.Read.All (delegated)
Response: response.body.value[0].displayName; // ” Initial service”
	    response.body.value[0].id; // " f9b9121f-aed7-4c8c-bb3a-a1796a0b0b2d"
  1. [省略可能] Microsoft Graph 予約スタッフ メンバー API を使用して、利用可能な予約スタッフ メンバーを一覧表示し、仮想予定のスタッフ メンバーを選択します。 スタッフ メンバーが選択されていない場合、作成された予定には "Unassigned" というラベルが付きます。
GET https://graph.microsoft.com/v1.0/solutions/bookingBusinesses/ Contosolunchdelivery@contoso.onmicrosoft.com/staffMembers
Permissions: Bookings.Read.All (delegated)
Response: response.body.value[0].displayName; // ”Dana Swope”
	    response.body.value[0].id; // "8ee1c803-a1fa-406d-8259-7ab53233f148"
  1. [省略可能] Microsoft Graph 予約顧客 API を使用して、仮想予定の予約顧客を選択または作成します。 顧客がいない場合、アラームは送信されません。
GET https://graph.microsoft.com/v1.0/solutions/bookingBusinesses/ Contosolunchdelivery@contoso.onmicrosoft.com/customers
Permissions: Bookings.Read.All (delegated)
Response: response.body.value[0].displayName; // ”Adele Vance”
	    response.body.value[0].id; // "80b5ddda-1e3b-4c9d-abe2-d606cc075e2e"
  1. Microsoft Graph 予約予定 API を使用して、選択したビジネス、サービス、必要に応じてスタッフ メンバーとゲストの予約予定を作成します。 次の例では、予約に関連付けられたオンライン会議を作成します。 さらに、メモやアラームを指定することもできます。
POST https://graph.microsoft.com/v1.0/solutions/bookingBusinesses/ Contosolunchdelivery@contoso.onmicrosoft.com/appointments
Body: {
    "endDateTime": {
        "@odata.type": "#microsoft.graph.dateTimeTimeZone",
        "dateTime": "2023-05-20T10:00:00.0000000+00:00",
        "timeZone": "UTC"
    },
    "isLocationOnline": true,
    "staffMemberIds": [
       {
          "8ee1c803-a1fa-406d-8259-7ab53233f148"
       }
    ],
    "serviceId": "f9b9121f-aed7-4c8c-bb3a-a1796a0b0b2d",
    "startDateTime": {
        "dateTime": "2023-05-20T09:00:00.0000000+00:00",
        "timeZone": "UTC"
    },
    "customers": [
        {
            "customerId": "80b5ddda-1e3b-4c9d-abe2-d606cc075e2e"
        }
    ]
}
Permissions: BookingsAppointment.ReadWrite.All (delegated)
Response: response.body.value.id; // "AAMkADc7zF4J0AAA8v_KnAAA="
          response.body.value.serviceId; // "f9b9121f-aed7-4c8c-bb3a-a1796a0b0b2d"
          response.body.value.joinWebUrl; // "https://teams.microsoft.com/l/meetup-join/..."
          response.body.value.anonymousJoinWebUrl; // "https://visit.teams.microsoft.com/webrtc-svc/..."
          response.body.value.staffMemberIds; // "8ee1c803-a1fa-406d-8259-7ab53233f148"
          response.body.value.customers[0].name; // "Adele Vance"

応答では、新しい予約予定が作成されたことがわかります。 仮想予定は、Microsoft Booking アプリと Microsoft Teams 仮想予定アプリケーションにも表示されます。

Note

顧客情報を取得する唯一の方法は、GET Microsoft Graph 予約予定 API を使用することです。

独自のスケジューリング システムを使用する

既存のスケジューリング システムがある場合に、Microsoft Teams によって提供される仮想予定エクスペリエンスで拡張するには、次の手順に従います。

  1. Microsoft Graph オンライン会議 API を使用して、仮想予定のオンライン会議を作成します。

Note

この操作では、Microsoft Booking、Outlook、または Microsoft Teams で予定表イベントは作成されません。 予定表イベントを作成する場合は、Microsoft Graph 予定表イベント API を使用します。

POST https://graph.microsoft.com/v1.0/ me/onlineMeetings
Body: {
  "startDateTime":"2023-05-20T09:00:00.0000000+00:00",
  "endDateTime":"2023-05-20T10:00:00.0000000+00:00",
  "subject":"Virtual appointment in Microsoft Teams"
}
Permissions: OnlineMeetings.ReadWrite (delegated)
Response: response.body.value.id; // "MSpkYzE3NjctYmZiMi04ZdFpHRTNaR1F6WGhyZWFkLnYy"
          response.body.value.joinWebUrl; // "https://teams.microsoft.com/l/meetup-join/..."
  1. 次を使用して、前の手順で作成した onlinemeeting リソース仮想予定エクスペリエンスを作成します
GET https://graph.microsoft.com/v1.0/ me/onlineMeetings/ MSpkYzE3NjctYmZiMi04ZdFpHRTNaR1F6WGhyZWFkLnYy/getVirtualAppointmentJoinWebUrl
Permissions: OnlineMeetings.ReadWrite (delegated)
Response: response.body.value; //"https://visit.teams.microsoft.com/webrtc-svc/..."

生成された URL をスケジューリング システム内に保存することも、スケジューリング システム内の予定表イベントの一意の ID と Microsoft Teams 仮想予定エクスペリエンスの URL をリンクする、専用のキーと値のペア ストレージを作成することもできます。

次のステップ