共用方式為


擴充排程

在本文中,您將了解使用 Microsoft Teams 和 Microsoft Graph 排程虛擬約會的可用選項。 首先,您將了解如何復寫 Microsoft Teams 虛擬約會中的現有體驗。 其次,您會了解如何自備排程系統,同時為取用者提供相同的虛擬約會體驗。

必要條件

本文的讀者應該熟悉:

Microsoft 365 排程系統

Microsoft Teams 虛擬約會會使用 Microsoft Booking API 來加以管理。 在 Teams 應用程式中,您會看到預約員工成員的 Booking 約會,並提供 [預約] 頁面,供客戶選擇適當的諮詢時間。 請遵循後續步驟,建置您自己的使用者介面進行排程,或將 Microsoft 365 排程系統整合到您的解決方案中。

  1. 使用下列 HTTP 要求來列出可用的預約業務,並透過 Microsoft Graph Booking Business 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 Booking Services 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 選取虛擬約會的員工成員。 如果未選取任何員工成員,則建立的約會會標示為「未指派」。
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 Booking 客戶 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 Booking 約會 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 虛擬約會應用程式中。

注意

取得客戶資訊的唯一方法,是使用 GET Microsoft Graph Booking 約會 API。

自備排程系統

如果您有現有的排程系統,且想要使用 Microsoft Teams 提供的虛擬約會體驗來加以擴充,請遵循下列步驟:

  1. 透過 Microsoft Graph Online 會議 API 建立虛擬約會的線上會議。

注意

此作業不會在 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. 透過下列方式在上一個步驟中建立的線上會議資源建立虛擬約會體驗
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 儲存在排程系統內,或建立專用的機碼值組儲存體,以使用 URL 在排程系統中將行事曆事件的唯一識別碼連結到 Microsoft Teams 虛擬約會體驗。

下一步