Регистрация бота для звонков и собраний для Microsoft Teams

Бот, который участвует в аудио- или видеовызовах и виртуальных собраниях, — это обычный бот Microsoft Teams со следующими дополнительными функциями, используемыми для регистрации бота:

  • Существует новая версия манифеста приложения (ранее называемая манифестом приложения Teams) с двумя дополнительными параметрами и supportsCallingsupportsVideo. Эти параметры включены в манифест приложения.
  • Разрешения Microsoft Graph должны быть настроены для идентификатора приложения Microsoft бота.
  • Для разрешений вызовов Graph и виртуальных собраний API требуется согласие администратора клиента.

Параметры манифеста нового приложения

Боты для вызовов и виртуальных собраний имеют следующие два дополнительных параметра в файле manifest.json, которые включают звук или видео для бота в Teams.

  • bots[0].supportsCalling. Если он присутствует и имеет true, Teams позволяет боту участвовать в вызовах и виртуальных собраниях.
  • bots[0].supportsVideo. Если он присутствует и имеет true, Teams знает, что бот поддерживает видео.

Если вы хотите, чтобы среда IDE правильно проверяла схему manifest.json для вызовов и собраний для этих значений, вы можете изменить атрибут $schema следующим образом:

"$schema": "https://developer.microsoft.com/json-schemas/teams/v1.11/MicrosoftTeams.schema.json",

В следующем разделе вы можете создать новый бот или добавить возможности вызова к существующему боту.

Создайте новый бот или добавьте возможности вызова

Сведения о создании ботов см. в Создание бота для Teams.

Чтобы создать новый бот для Teams:

  1. Используйте эту ссылку, чтобы создать новый бот: https://dev.botframework.com/bots/new. В качестве альтернативы, если вы нажмете кнопку Создать бот на портале Bot Framework, вы создадите бот в Microsoft Azure, для чего у вам понадобится учетная запись Azure.

  2. Добавьте канал Teams.

  3. Выберите вкладку Вызов на странице канала Teams. Выберите Включить вызовы, а затем обновите Веб-перехватчик (для вызовов) указав URL-адрес HTTPS, на который вы получаете входящие уведомления, например https://contoso.com/teamsapp/api/calling. Подробнее см. в статье Настройка каналов.

    Настройка сведений о канале Teams

В следующем разделе приведен список разрешений приложений, поддерживаемых для вызовов и виртуальных собраний.

Предоставить разрешения Graph

Graph предоставляет детализированные разрешения для управления доступом приложений к ресурсам. Вы сами решаете, какие разрешения для Graph запрашивает приложение. API-интерфейсы Вызова Graph поддерживают разрешения на согласие для конкретного ресурса (RSC) и разрешения приложений.

Разрешения RSC для вызовов

RSC — это платформа авторизации, созданная Teams и платформа удостоверений Майкрософт, которая позволяет предоставлять доступ к приложению с ограниченной областью. С помощью RSC авторизованный пользователь может предоставить приложению доступ к данным определенного экземпляра типа ресурса.

Если с чатом связано собрание или вызов, то соответствующие разрешения RSC также применяются к этим ресурсам.

В следующей таблице приведены разрешения приложений RSC для вызовов:

Имя разрешения Действие
Calls.AccessMedia.Chat Доступ к мультимедийным потокам в звонках, связанных с этим чатом или собранием.
Calls.JoinGroupCalls.Chat Присоединение к звонкам, связанным с этим чатом или собранием.

Разрешения приложения для вызовов

Разрешения приложения для вызовов используются приложениями, которые выполняются без вошедшего пользователя. Администратор клиента должен дать согласие на разрешения приложения.

В следующей таблице приведен список разрешений приложений для вызовов:

Разрешение Отображаемая строка Описание Требуется согласие администратора
Calls.Initiate.All Запуск исходящих индивидуальных вызовов из приложения в предварительной версии. Позволяет приложению совершать исходящие звонки одному пользователю и передавать звонки пользователям из каталога вашей организации без необходимости входа пользователя. Да
Calls.InitiateGroupCall.All Инициируйте исходящие звонки 1:1 и групповые вызовы из предварительной версии приложения. Позволяет приложению совершать исходящие вызовы одному пользователю, нескольким пользователям, передавать вызовы и добавлять участников на собрания в вашей организации без вошедшего пользователя. Да
Calls.JoinGroupCall.All Присоединяйтесь к групповым вызовам и собраниям в качестве предварительного просмотра приложения. Позволяет приложению присоединяться к групповым звонкам и запланированным собраниям в организации без необходимости входа пользователя. Приложение присоединится к собраниям в клиенте с правами пользователя каталога. Да
Calls.JoinGroupCallasGuest.All Присоединяйтесь к групповым вызовам и собраниям в качестве гостевого предварительного просмотра. Позволяет приложению анонимно присоединяться к групповым звонкам и запланированным собраниям в организации без необходимости входа пользователя. Приложение присоединено к собраниям в клиенте в качестве гостя. Да
Calls.AccessMedia.All Доступ к медиапотокам во время разговора в качестве предварительного просмотра приложения. Позволяет приложению получить прямой доступ к потокам мультимедиа в ходе звонка без необходимости входа пользователя. Да

Важно!

Вы не можете использовать API доступа к мультимедиа для записи или иного сохранения мультимедийного содержимого вызовов или собраний, к которым обращается приложение, или для получения данных из этой записи или записи мультимедийного содержимого. Сначала необходимо вызвать updateRecordingStatus API , чтобы указать, что запись началась, и получить ответ об успешном завершении от этого API. Если приложение начинает записывать какое-либо собрание или вызов, оно должно завершить запись перед вызовом API updateRecordingStatus, чтобы указать, что запись завершена.

Разрешения приложений для виртуальных собраний

В следующей таблице представлен список разрешений приложений для виртуальных собраний:

Разрешение Отображаемая строка Описание Требуется согласие администратора
OnlineMeetings.Read.All Чтение сведений о виртуальном собрании в предварительном просмотре приложения Позволяет приложению считывать сведения о виртуальном собрании в организации без входа пользователя. Да
OnlineMeetings.ReadWrite.All Чтение и создание виртуальных собраний из предварительной версии приложения от имени пользователя Позволяет приложению создавать виртуальные собрания в организации от имени пользователя без входа пользователя. Да

Назначение разрешений

Необходимо заранее настроить разрешения приложения для бота с помощью microsoft портал Azure, если вы предпочитаете использовать конечную точку Azure Active Directory (Azure AD) версии 1.

Для приложений, использующих конечную точку Azure AD версии 1, администратор клиента может предоставить согласие на разрешения приложения с помощью портал Azure Майкрософт при установке приложения в организации. Кроме того, вы можете предоставить в приложении интерфейс регистрации, с помощью которого администраторы могут согласиться на настроенные вами разрешения. После записи согласия администратора по идентификатору Microsoft Entra приложение может запрашивать маркеры без необходимости повторного запроса согласия.

Вы можете использовать администратора для предоставления необходимых приложению разрешений на портал Azure Майкрософт. Лучше всего предоставить администраторам возможность регистрации с помощью конечной точки Azure AD версии 2/adminconsent. Дополнительные сведения см. в статье Инструкции по созданию URL-адреса согласия Администратор.

Примечание.

Чтобы создать URL-адрес Администратор согласия клиента, на портале регистрации приложений требуется настроенный URI перенаправления или URL-адрес ответа. Чтобы добавить URL-адреса ответов для бота, войдите в систему регистрации бота, выберите Дополнительные параметры>Редактировать манифест приложения. Добавьте URL-адрес перенаправления в коллекцию replyUrls.

Важно!

Каждый раз, когда вы вносите изменения в разрешения приложения, вы также должны повторно получить согласие администратора. Изменения, внесенные на портале регистрации приложений, не отражаются до тех пор, пока согласие не будет повторно применено администратором клиента.

Пример кода

Название примера Описание .NET
Вызов и собрание с ботом Образец приложения демонстрирует, как бот может создавать вызовы, присоединяться к собраниям и перенаправлять вызовы. View
События собраний в реальном времени В примере приложения показано, как бот может получать события собраний в режиме реального времени. View

Пошаговые инструкции

Следуйте пошаговому руководству , чтобы настроить бота для звонков и собраний Teams.

Следующий этап

Дополнительные ресурсы