Бот для звонков и собраний Teams
Бот для звонков и собраний Microsoft Teams предоставляет базовые функции, такие как создание звонка, присоединение к вызову, передача или перенаправление звонка, присоединение к запланированному собранию и приглашение участников путем интеграции облачных коммуникаций API Graph.
Боты могут взаимодействовать с звонками и собраниями Teams с помощью голосовой связи, видео и демонстрации экрана в режиме реального времени. Приложения Teams могут взаимодействовать с пользователями с помощью голосовой связи и видео, чтобы улучшить их взаимодействие с API Microsoft Graph для звонков и собраний по сети. Эти API позволяют добавлять следующие новые функции:
- Используйте интерактивный голосовой ответ (IVR).
- Используйте управление вызовами.
- Предоставление доступа к аудио- и видеопотокам в реальном времени, включая общий доступ к рабочим столам и приложениям.
Создайте бота и укажите дополнительные сведения и разрешения для использования этих API Graph в приложении Teams.
Это пошаговое руководство поможет вам настроить бота для звонков и собраний Teams. Вы увидите следующие выходные данные:
Предварительные условия
Убедитесь, что установлены следующие средства и настроена среда разработки:
Установка | Для использования... | |
---|---|---|
Учетная запись разработчика Microsoft 365 | Доступ к учетной записи Teams с соответствующими разрешениями для установки приложения. | |
Visual Studio 2022 | Вы можете установить корпоративную версию в Visual Studio 2022, а также рабочие нагрузки ASP.NET и веб-разработки. Используйте последнюю версию. | |
Пакет SDK для .NET Core | Настраиваемые привязки для локальной отладки и Функции Azure развертываний приложений. Используйте последнюю версию или установите переносимую версию. | |
Microsoft Teams | Microsoft Teams позволяет взаимодействовать со всеми пользователями, с которыми вы работаете, с помощью приложений для чата, собраний и звонков в одном месте. | |
Windows PowerShell | Установите, выполнив все команды. | |
Туннель разработки | Функции приложений Teams (диалоговые боты, расширения сообщений и входящие веб-перехватчики) требуют входящих подключений. Туннель соединяет систему разработки с Teams. Туннель разработки — это мощный инструмент для безопасного открытия локального узла в Интернете и контроля доступа. Туннель разработки доступен в Visual Studio 2022 версии 17.7.0 или более поздней. Вы также можете использовать ngrok в качестве туннеля для подключения системы разработки к Teams. Он не требуется для приложений, которые содержат только вкладки. Этот пакет устанавливается в каталоге проекта (с помощью npm devDependencies). |
Примечание.
После скачивания ngrok зарегистрируйтесь и установите authtoken.
Настройка локальной среды
Откройте Microsoft-Teams-Samples.
Выберите Код.
В раскрывающемся меню выберите Открыть с помощью GitHub Desktop.
Выберите Клонировать.
Регистрация приложения Microsoft Entra
Чтобы зарегистрировать приложение с помощью microsoft портал Azure для интеграции с платформа удостоверений Майкрософт и вызова microsoft API Graph, выполните следующие действия.
- Создайте туннель ngrok для конечных точек веб-сервера.
- Создайте ресурс бота Azure, чтобы зарегистрировать бота в службе azure bot.
- Создайте секрет клиента, который включает проверку подлинности бота с единым входом.
- Создайте политику для пользователя демонстрационного клиента для создания собраний по сети с помощью PowerShell.
- Добавьте разрешения API для подчиненных вызовов.
- Создайте регистрацию канала бота в учетной записи Azure.
- Добавьте канал Microsoft Teams для развертывания бота в канале Teams.
- Добавьте конечную точку обмена сообщениями в созданный туннель ngrok.
Добавление регистрации приложения
Перейдите к портал Azure.
Выберите Регистрация приложений.
Выберите + Новая регистрация.
Введите имя приложения.
Выберите Учетные записи в любом каталоге организации (любой клиент Microsoft Entra ID — мультитенантный).
Нажмите Зарегистрировать.
Приложение зарегистрировано в Microsoft Entra ID. Откроется страница обзора приложения.
Примечание.
Сохраните идентификатор приложения из идентификатора приложения (клиента) и каталога (клиента) для дальнейшего использования.
Создание туннеля
Откройте Visual Studio.
Выберите Создать новый проект.
В поле поиска введите ASP.NET. В результатах поиска выберите ASP.NET Core Веб-приложение.
Нажмите кнопку Далее.
Введите имя проекта и нажмите кнопку Далее.
Нажмите Создать.
Откроется окно обзора.
В раскрывающемся списке отладки выберите Dev Tunnels (без активного туннеля)>Создать туннель....
Открывается всплывающее окно.
Обновите следующие сведения во всплывающем окне:
- Учетная запись. Введите учетную запись Майкрософт или GitHub.
- Имя: введите имя туннеля.
- Тип туннеля: в раскрывающемся списке выберите Временный.
- Доступ: в раскрывающемся списке выберите Общедоступный.
Нажмите OK.
Появится всплывающее окно, показывающее, что туннель разработки успешно создан.
Нажмите OK.
Созданный туннель можно найти в раскрывающемся списке отладки следующим образом:
Нажмите клавишу F5 , чтобы запустить приложение в режиме отладки.
Если появится диалоговое окно Предупреждение системы безопасности , выберите Да.
Открывается всплывающее окно.
Нажмите Продолжить.
В новом окне браузера откроется домашняя страница туннеля разработки, и туннель разработки теперь активен.
Перейдите в Visual Studio и выберите Просмотреть выходные > данные.
В раскрывающемся меню консоли вывода выберите Dev Tunnels (Туннели разработки).
В консоли вывода отображается URL-адрес туннеля разработки.
Добавление веб-проверки подлинности
В левой области в разделе Управление выберите Проверка подлинности.
Выберите Добавить веб-сайт платформы>.
Введите URI перенаправления для приложения, добавив
auth-end
к полному доменному имени. Например,https://your-devtunnel-domain/auth-end
илиhttps://your-ngrok-domain/auth-end
.В разделе Неявное предоставление и гибридные потоки установите флажки Маркеры доступа и маркеры идентификаторов .
Нажмите Настроить.
В разделе Интернет выберите Добавить URI.
Введите
https://token.botframework.com/.auth/web/redirect
.Выберите Сохранить.
Создание секрета клиента
В левой области в разделе Управление выберите Сертификаты & секреты.
В разделе Секреты клиента выберите + Новый секрет клиента.
Откроется окно Добавление секрета клиента .
Введите Описание.
Нажмите Добавить.
В разделе Значение выберите Копировать в буфер обмена , чтобы сохранить значение секрета клиента для дальнейшего использования.
Добавление разрешений API для подчиненных вызовов
В области слева в разделе Управление выберите Разрешения API.
Выберите + Добавить разрешение.
Выберите Microsoft Graph.
Выберите Разрешения приложения.
Выберите следующие разрешения:
Calls.AccessMedia.All
Calls.Initiate.All
Calls.InitiateGroupCall.All
Calls.JoinGroupCall.All
Calls.JoinGroupCallAsGuest.All
OnlineMeetings.ReadWrite.All
Выберите Добавить разрешения.
Примечание.
- Если приложению не предоставлено согласие ИТ-администратора, пользователи должны предоставить согласие при первом использовании приложения.
- Пользователи должны согласиться на разрешения API только в том случае, если приложение Microsoft Entra зарегистрировано в другом клиенте.
Добавление область
В области слева в разделе Управление выберите Предоставить API.
Выберите + Добавить область.
Введите access_as_user в качестве имени области.
В разделе Кто может предоставить согласие? выберите Администраторы и пользователи.
Обновите значения остальных полей следующим образом:
Введите Teams может получить доступ к профилю пользователякак Администратор отображаемое имя согласия.
Введите Позволяет Teams вызывать веб-API приложения в качестве текущего пользователяв качестве Администратор описание согласия.
Введите Teams для доступа к профилю пользователя и отправлять запросы от имени пользователя в качестве отображаемого имени согласия пользователя.
Введите Включить Teams для вызова API этого приложения с теми же правами, что и у пользователя , в описании согласия пользователя.
Убедитесь, что параметру Состояние присвоено значение Включено.
Нажмите кнопку Добавить область.
На следующем рисунке показаны поля и значения:
Примечание.
Имя области должно совпадать с URI идентификатора приложения с
/access_as_user
добавлением в конце.
Добавление клиентского приложения
В области слева в разделе Управление выберите Предоставить API.
В разделе Авторизованные клиентские приложения определите приложения, которые вы хотите авторизовать для веб-приложения вашего приложения.
Выберите + Добавить клиентское приложение.
Добавьте мобильное или классическое приложение Teams и веб-приложение Teams.
Для мобильных или классических приложений Teams: введите идентификатор клиента как
1fec8e78-bce4-4aaf-ab1b-5451cc387264
.Для веб-сайта Teams: введите идентификатор клиента как
5e3ce6c0-2b1f-4285-8d4b-75ee78787346
.
Установите флажок Авторизованные области .
Нажмите кнопку Добавить приложение.
На следующем рисунке отображается идентификатор клиента:
Создать политику
Чтобы создать политику, которая позволяет пользователю демонстрационного клиента создавать собрания по сети с помощью скрипта PowerShell, выполните следующие действия.
Запустите Windows PowerShell PSI от имени администратора и выполните скрипт.
New-CsApplicationAccessPolicy -Identity "<<policy-identity/policy-name>>" -AppIds "<<azure-client-id>>" -Description "Policy-description" Grant-CsApplicationAccessPolicy -PolicyName "<<policy-identity/policy-name>>" -Identity "<<object-id-of-the-user-to-whom-policy-need-to-be-granted>>"
Примечание.
Если вы используете Windows PowerShell PSI в первый раз, выполните следующие команды:
- Set-ExecutionPolicy -ExecutionPolicy Unrestricted -Scope CurrentUser
- Выполните Install-Module -Name MicrosoftTeams -Force -AllowClobber
Замените следующие поля в скрипте Windows PowerShell:
Поле Описание policy-identity/policy-name Имя политики. azure-client-id Идентификатор приложения Майкрософт, созданный при регистрации приложения в портал Azure. Описание политики Описание политики. object-id-of-user-to-whom-policy-need-to-be-be-granted Идентификатор пользователя, для которого необходимо создать политику с помощью обозревателя графов. Чтобы создать идентификатор объекта, войдите в Microsoft Graph Обозреватель, используя учетные данные, которым должна быть предоставлена политика.
Выберите Граф Обозреватель на панели инструментов.
Выберите Выполнить запрос. Ответ создается в предварительной версии ответа.
Скопируйте значение свойства из предварительного
id
просмотра ответа и замените идентификатором объекта в скрипте PowerShell.Выполните скрипт PowerShell.
Запустите
Connect-MicrosoftTeams
и войдите с учетными данными, которым должна быть предоставлена политика.Выполните следующую команду в PowerShell, чтобы проверить, успешно ли создана политика. Замените имя политики определенным именем политики.
Get-CsApplicationAccessPolicy -Identity “<<policy-identity/policy-name>>”
Примечание.
Убедитесь, что выполняемые скрипты не отключены в системе. Дополнительные сведения см. в разделе Политики выполнения.
Создание бота
Создание ресурса бота Azure
Примечание.
Если вы уже тестируете бот в Teams, выйдите из этого приложения и Teams. Чтобы увидеть это изменение, войдите еще раз.
Перейдите на домашнюю страницу.
Выберите + Создать ресурс.
В поле поиска введите Azure Bot.
Выберите ВВОД.
Выберите Azure Bot.
Нажмите Создать.
Введите имя бота в поле Дескриптор бота.
Выберите свою подписку в раскрывающемся списке.
Выберите свою группу ресурсов в раскрывающемся списке.
Если у вас нет существующей группы ресурсов, можно создать новую группу ресурсов. Чтобы создать новую группу ресурсов, выполните следующие действия.
- Выберите Создать.
- Введите имя ресурса и нажмите кнопку ОК.
- Выберите расположение в раскрывающемся списке Расположение новой группы ресурсов .
В разделе Цены выберите Изменить план.
Выберите FO Free>Select.
В разделе Идентификатор приложения Майкрософт выберите Тип приложения в качестве мультитенантного.
В поле Тип создания выберите Использовать существующую регистрацию приложения.
Введите идентификатор приложения.
Примечание.
Нельзя создать несколько ботов с одним идентификатором приложения Майкрософт.
Выберите Проверить и создать.
После завершения проверки нажмите кнопку Создать.
Подготовка бота занимает несколько минут.
Выберите пункт Перейти к ресурсу.
Вы успешно создали бот Azure.
Добавление канала Teams
В левой области выберите Каналы.
В разделе Доступные каналы выберите Microsoft Teams.
Установите флажок, чтобы принять условия предоставления услуг.
Выберите Принять.
Нажмите Применить.
Добавление конечной точки обмена сообщениями
Используйте URL-адрес туннеля разработки в консоли вывода в качестве конечной точки обмена сообщениями.
В левой области в разделе Параметры выберите Конфигурация.
Обновите конечную точку обмена сообщениями в формате
https://your-devtunnel-domain/api/messages
.Нажмите Применить.
Вы успешно настроили бот в службе Azure Bot.
Примечание.
Если ключ инструментирования Application Insights отображает ошибку, обновите идентификатор приложения.
Настройка параметров приложения и файлов манифеста
tenantId
Получите илиUserId
из Teams. Чтобы получитьtenantId
, выполните следующие действия:Выберите Teams.
Выберите Дополнительные параметры (...).
ВыберитеПолучить ссылку на команду.
Вы можете получить
displayName
иid
с сайта:Войдите в Microsoft Graph Обозреватель с помощью учетной записи клиента Teams.
Добавьте
Users
в конце URL-адреса в поле поиска.Выберите Выполнить запрос.
Создаются отображаемые имена и идентификаторы пользователей, связанные с вашей учетной записью.
Выберите три учетные записи и добавьте их в
DisplayName
иUserId
в файл appsettings.json.Примечание.
TenantId
илиUserId
учетной записи Teams обозначает, откуда вы хотите инициировать вызов, иDisplayName
UserId
пользователей, которым вы хотите перенаправить или перенаправить вызов.
Обновление параметров приложения
Перейдите к файлу appsettings.json в клонированного репозитория.
Откройте файл appsettings.json в Visual Studio и обновите следующие сведения:
- Замените
MicrosoftAppId
,ClientId
иAppId
идентификатором приложения Майкрософт бота. - Замените
MicrosoftAppPassword
,ClientSecret
иAppSecret
на Значениесекрета клиента бота. - Замените
BotBaseUrl
на доменное имя ngrok или dev tunnel. - Замените
TenantId
наUserId
. - Замените
DisplayName
наId
.
- Замените
Выберите Сохранить.
Обновление манифеста приложения
Сборка и запуск службы
Для сборки и запуска службы используйте Visual Studio:
Добавление бота для звонков и собраний в Teams
В клонированного репозитория перейдите к csharp > Source > AppManifest.
Создайте файл .zip со следующими файлами, которые находятся в папке AppManifest :
- manifest.json
- outline.png
- color.png
Примечание.
Не
manifest.zip
должен содержать никаких дополнительных папок. В zip-папке должен бытьmanifest json
исходный файл,color
значок иoutline
значок.В клиенте Teams щелкните значок Приложения .
Выберите Управление приложениями
Выберите Отправить приложение.
Во всплывающем окне выберите Отправить пользовательское приложение. Если параметр отображается, включена отправка пользовательских приложений.
Перейдите в раздел csharp > Source > AppManifest.
Выберите Открыть , чтобы отправить файл .zip, созданный в папку AppManifest .
Выберите Добавить , чтобы установить приложение "Вызывающий бот " в Teams.
Взаимодействие с ботом для звонков и собраний
Бот позволяет получать доступ к службам и содержимому в выделенном пространстве в канале или в чате.
Давайте взаимодействовать с приложением в Teams!
В левой области Teams выберите Просмотреть другие приложения (...) и выберите свое приложение в списке.
Бот отправляет приветственный текст с помощью адаптивной карточки.
Выберите Создать звонок.
Выберите Переключить звонок.
Вы можете попросить бота запланировать собрание и пригласить участников.
Выполнение задачи
Вы придумали такие выходные данные?
Поздравляем!
Вы завершили руководство по началу работы с приложением для звонков ботов и собраний для Microsoft Teams.
Возникла проблема с этим разделом? Если это так, отправьте нам отзыв, чтобы мы исправили этот раздел.
Platform Docs