Регистрация бота для звонков и собраний для Microsoft Teams
Бот, который участвует в аудио- или видеовызовах и виртуальных собраниях, — это обычный бот Microsoft Teams со следующими дополнительными функциями, используемыми для регистрации бота:
- Существует новая версия манифеста приложения (ранее называемая манифестом приложения Teams) с двумя дополнительными параметрами и
supportsCalling
supportsVideo
. Эти параметры включены в манифест приложения. - Разрешения 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:
Используйте эту ссылку, чтобы создать новый бот:
https://dev.botframework.com/bots/new
. В качестве альтернативы, если вы нажмете кнопку Создать бот на портале Bot Framework, вы создадите бот в Microsoft Azure, для чего у вам понадобится учетная запись Azure.Добавьте канал Teams.
Выберите вкладку Вызов на странице канала Teams. Выберите Включить вызовы, а затем обновите Веб-перехватчик (для вызовов) указав URL-адрес HTTPS, на который вы получаете входящие уведомления, например
https://contoso.com/teamsapp/api/calling
. Подробнее см. в статье Настройка каналов.
В следующем разделе приведен список разрешений приложений, поддерживаемых для вызовов и виртуальных собраний.
Предоставить разрешения 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, администратор клиента может предоставить согласие на разрешения приложения с помощью портала Microsoft Azure при установке приложения в организации. Кроме того, вы можете предоставить в приложении интерфейс регистрации, с помощью которого администраторы могут согласиться на настроенные вами разрешения. После записи согласия администратора с помощью идентификатора Microsoft Entra приложение может запрашивать маркеры без необходимости повторного запроса согласия.
Вы можете полагаться на администратора, чтобы предоставить разрешения, необходимые приложению, на портале Microsoft Azure. Лучшим вариантом является предоставление возможности регистрации для администраторов с помощью конечной точки Azure AD версии 2 /adminconsent
. Дополнительные сведения см. в инструкциях по созданию URL-адреса согласия администратора.
Примечание.
Чтобы создать URL-адрес согласия администратора клиента, на портале регистрации приложений требуется настроенный URI перенаправления или URL-адрес ответа. Чтобы добавить URL-адреса ответов для бота, войдите в систему регистрации бота, выберите Дополнительные параметры>Редактировать манифест приложения. Добавьте URL-адрес перенаправления в коллекцию replyUrls
.
Важно!
Каждый раз, когда вы вносите изменения в разрешения приложения, вы также должны повторно получить согласие администратора. Изменения, внесенные на портале регистрации приложений, не отражаются до тех пор, пока согласие не будет повторно применено администратором клиента.
Пример кода
Название примера | Описание | .NET |
---|---|---|
Вызов и собрание с ботом | Образец приложения демонстрирует, как бот может создавать вызовы, присоединяться к собраниям и перенаправлять вызовы. | View |
События собраний в реальном времени | В примере приложения показано, как бот может получать события собраний в режиме реального времени. | View |
Пошаговые инструкции
Следуйте пошаговому руководству , чтобы настроить бота для звонков и собраний Teams.
Следующий этап
Дополнительные ресурсы
Platform Docs