Поделиться через


Расширение планирования

Из этой статьи вы узнаете о доступных вариантах планирования виртуальной встречи в Microsoft Teams и Microsoft Graph. Во-первых, вы узнаете, как реплицировать существующий интерфейс в виртуальных встречах Microsoft Teams. Во-вторых, вы узнаете, как использовать собственную систему планирования, предоставляя потребителям тот же интерфейс виртуальных встреч.

Предварительные требования

Ожидается, что читатель этой статьи будет знаком со следующими сведениями:

Система планирования Microsoft 365

Виртуальные встречи Microsoft Teams используют API Microsoft Booking для управления ими. В приложении Teams отображаются встречи для резервирования сотрудников, а также предоставляется страница Резервирования для клиентов, позволяющая выбрать подходящее время для консультаций. Выполните следующие действия, чтобы создать собственный пользовательский интерфейс для планирования или интегрировать систему планирования Microsoft 365 в решение.

  1. Используйте следующий HTTP-запрос, чтобы получить список доступных предприятий по бронированию и выбрать бизнес для виртуальных встреч с помощью API microsoft Graph Booking business.
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. Список доступных служб резервирования и выбор службы для виртуальных встреч с помощью API служб резервирования Microsoft Graph.
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. [Необязательно] Перечислить доступных сотрудников резервирования и выбрать сотрудников для виртуальной встречи с помощью API сотрудников Microsoft Graph Booking. Если сотрудник не выбран, созданная встреча помечается как "Не назначенная".
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. [Необязательно] Выберите или создайте клиента booking для виртуальной встречи с помощью API клиента Microsoft Graph Booking. Напоминания не отправляются, если нет клиентов.
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. Создавайте встречи резервирования для выбранных сотрудников и гостей, а также сотрудников и гостей(при необходимости) с помощью API встреч в Microsoft Graph Booking. В следующем примере мы создадим собрание по сети, связанное с бронированием. Кроме того, можно предоставлять заметки и напоминания.
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"

В ответе вы увидите, что была создана новая встреча booking. Виртуальная встреча также отображается в приложении Microsoft Booking и приложении Виртуальной встречи Microsoft Teams.

Примечание

Единственный способ получить сведения о клиенте — использовать API встреч get Microsoft Graph Booking.

Использование собственной системы планирования

Если у вас есть существующая система планирования и вы хотите расширить ее с помощью виртуальной встречи, предоставляемой Microsoft Teams, выполните следующие действия:

  1. Создайте собрание по сети для виртуальной встречи с помощью API онлайн-собраний Microsoft Graph.

Примечание

Эта операция не создает событие календаря в Microsoft Booking, Outlook или Microsoft Teams. Если вы хотите создать событие календаря, используйте API событий календаря Microsoft Graph.

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-адрес в системе планирования или создать выделенное хранилище пар "ключ-значение", которое свяжет уникальный идентификатор события календаря в системе планирования с URL-адресом виртуальной встречи Microsoft Teams.

Дальнейшие действия