Отправка файла в Teams с помощью бота
Бот использует API Microsoft Teams для отправки и получения файлов с пользователями в личных чатах. Файлы, к которым предоставлен общий доступ в Teams, могут отображаться в виде карточек и разрешать расширенный просмотр в приложении. Бот также помогает в реализации таких функций, как отчеты о расходах, распознавание изображений, архивирование файлов и электронные подписи, которые включают редактирование содержимого файла.
Основные функции для отправки файлов в Teams с помощью бота:
- Отправка файлов в Teams с помощью бота.
- Получение файла, отправляемого боту в виде вложения.
- Получение встроенных изображений, отправленных в сообщении.
Это пошаговое руководство поможет вам отправить файл в Teams с помощью бота. Вы увидите следующие выходные данные:
Предварительные условия
Убедитесь, что вы установили следующие средства и настроили среду разработки:
Установка | Для использования... | |
---|---|---|
Microsoft Teams | Microsoft Teams позволяет взаимодействовать со всеми пользователями, с которыми вы работаете, с помощью приложений для чата, собраний и звонков в одном месте. | |
Visual Studio 2022 |
Вы можете установить корпоративную версию в Visual Studio 2022, а также рабочие нагрузки ASP.NET и веб-разработки. Используйте последнюю версию. | |
Туннель разработки | Функции приложений Teams (диалоговые боты, расширения сообщений и входящие веб-перехватчики) требуют входящих подключений. Туннель соединяет систему разработки с Teams. Туннель разработки — это мощный инструмент для безопасного открытия локального узла в Интернете и контроля доступа. Туннель разработки доступен в Visual Studio 2022 версии 17.7.0 или более поздней. или вы также можете использовать ngrok в качестве туннеля для подключения системы разработки к Teams. Он не требуется для приложений, которые содержат только вкладки. Этот пакет устанавливается в каталоге проекта (с помощью npm devDependencies ). |
Примечание.
После скачивания ngrok зарегистрируйтесь и установите authtoken.
Настройка локальной среды
Откройте Microsoft-Teams-Samples.
Выберите Код.
В раскрывающемся меню выберите Открыть с помощью GitHub Desktop.
Выберите Клонировать.
Регистрация приложения Microsoft Entra
Следующие действия помогут вам создать и зарегистрировать бота на портале Azure.
- Создайте и зарегистрируйте приложение Azure.
- Создайте секрет клиента, чтобы включить проверку подлинности бота с единым входом.
- Добавьте канал Teams для развертывания бота.
- Создайте туннель к конечным точкам веб-сервера с помощью туннеля разработки (рекомендуется) или ngrok.
- Добавьте конечную точку обмена сообщениями в созданный туннель разработки.
Добавление регистрации приложения
Перейдите на портал Azure.
Выберите Регистрация приложений.
Выберите + Новая регистрация.
Введите имя приложения.
Выберите Учетные записи в любом каталоге организации (любой клиент Microsoft Entra ID — Мультитенант).
Нажмите Зарегистрировать.
Ваше приложение зарегистрировано в Идентификаторе Microsoft Entra. Откроется страница обзора приложения.
Примечание.
Сохраните идентификатор приложения из идентификатора приложения (клиента) и каталога (клиента) для дальнейшего использования.
Создание туннеля
Откройте Visual Studio.
Выберите Создать новый проект.
В поле поиска введите ASP.NET. В результатах поиска выберите ASP.NET Core Web App.
Нажмите кнопку Далее.
Введите имя проекта и нажмите кнопку Далее.
Нажмите Создать.
Откроется окно обзора.
В раскрывающемся списке отладки выберите 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.
Выберите Делегированные разрешения.
Выберите User>User.Read.
Выберите Добавить разрешения.
Примечание.
- Если приложению не предоставлено согласие ИТ-администратора, пользователи должны предоставить согласие при первом использовании приложения.
- Пользователям требуется согласие на разрешения API, только если приложение Microsoft Entra зарегистрировано в другом клиенте.
Добавление URI идентификатора приложения
В области слева в разделе Управление выберите Предоставить API.
Рядом с полем URI идентификатора приложения нажмите кнопку Добавить.
Обновите URI идентификатора
api://your-devtunnel-domain/botid-{AppID}
приложения в формате илиapi://your-ngrok-domain/botid-{AppID}
и нажмите кнопку Сохранить.На следующем рисунке показано доменное имя:
Добавление области
В области слева в разделе Управление выберите Предоставить 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
.
Установите флажок Авторизованные области .
Нажмите кнопку Добавить приложение.
На следующем рисунке отображается идентификатор клиента:
Обновление манифеста
В левой области выберите Манифест.
Задайте для
accessTokenAcceptedVersion
2
параметра значение и нажмите кнопку Сохранить.
Создание бота
Создание ресурса бота 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 отображает ошибку, обновите идентификатор приложения.
Добавление параметров подключения OAuth
В левой области выберите Конфигурация.
Нажмите кнопку Добавить параметры подключения OAuth на экране Конфигурация.
В разделе Новый параметр подключения обновите следующие сведения:
- Имя. Введите имя для нового параметра подключения. Имя можно использовать в параметрах кода службы бота.
- Поставщик услуг. В раскрывающемся списке выберите Azure Active Directory версии 2.
- Идентификатор клиента: обновите идентификатор приложения Майкрософт.
- Секрет клиента: обновите значение секретов клиента.
- URL-адрес обмена маркерами: обновите универсальный код ресурса (URI) идентификатора приложения.
- Идентификатор клиента: введите Common.
- Области: введите User.Read.
Выберите Сохранить.
Настройка параметров приложения и файлов манифеста
Перейдите к файлу appsettings.json в клонированного репозитория.
Откройте файл appsettings.json и обновите следующие сведения:
Задайте значение
"MicrosoftAppType"
MultiTenant.Задайте
"MicrosoftAppId"
для бота идентификатор приложения Майкрософт.Задайте
"MicrosoftAppPassword"
значение секретов клиента бота.
Перейдите к файлу manifest.json в клонированного репозитория.
Откройте файл manifest.json и обновите следующие изменения:
Замените все вхождения идентификатором
<<YOUR-MICROSOFT-APP-ID>>
приложения Майкрософт.
Сборка и запуск службы
Сборка и запуск службы с помощью Visual Studio или командной строки.
Откройте Visual Studio.
Перейдите в раздел Файл>Открыть>проект или решение....
В папке>csharpbot-file-upload> выберите TeamsFileUpload.csproj file .
В разделе Вид выберите Обозреватель решений.
Нажмите клавишу F5 , чтобы запустить проект.
Выберите Да , если появится диалоговое окно Предупреждение системы безопасности :
Откроется веб-страница с сообщением Ваш бот готов!.
Отправка бота в Teams
В клонированном репозитории перейдите к microsoft-Teams-Samples>samples>bot-file-upload>csharp>TeamsAppManifest.
Создайте файл .zip со следующими файлами, которые находятся в папке TeamsAppManifest :
- manifest.json
- icon-outline.png
- icon-color.png
В клиенте Teams щелкните значок Приложения .
Выберите Управление приложениями
Выберите Отправить приложение.
Найдите параметр Отправить пользовательское приложение. Если параметр отображается, включена отправка пользовательских приложений.
Выберите файл .zip, созданный в папке TeamsAppManifest , и нажмите кнопку Открыть.
Нажмите Добавить.
Взаимодействие с ботом в Teams
В области создания сообщения введите привет и нажмите кнопку Отправить. Бот отправляет адаптивную карточку с разрешением на отправку файла.
Выберите Разрешить. Файлteams-logo.png передается в каталог файлов и готов к скачиванию.
Вложите любой файл в сообщение и нажмите кнопку Отправить. Бот отвечает сообщением о том, что файл получен и сохранен.
Вы можете просмотреть вложение на вкладке Файлы .
Вложите изображение в сообщение и нажмите кнопку Отправить. Бот отвечает сообщением о том, что изображение получено и сохранено.
Изображение можно просмотреть в окне чата и на вкладке Файлы .
Примечание.
После установки бота в личной области пользователь вступает в личную беседу с ботом.
Выполнение задачи
Ты придумала что-то вроде этого?
Поздравляем!
Вы завершили работу с этим руководством. Теперь вы можете отправлять файлы в Teams с помощью бота.
Возникла проблема с этим разделом? Если это так, отправьте нам отзыв, чтобы мы исправили этот раздел.
Platform Docs