Я нахожусь в процессе преобразования нескольких существующих веб-частей (построенных в Visual Studio с использованием шаблона проекта надстройки SharePoint) для работы в Microsoft Teams. Вкратце, есть 2 направления sh этого:
- Использование SharePoint Framework (SPFx), NodeJS, TypeScript, Visual Studio Code и генератора Yeoman, ИЛИ
- Visual Studio, HTML, Javascript, AppStudio для Microsoft Teams и NGROK (для тестирования).
Следующий вариант (1) полностью решает эту проблему, поскольку он включает только следующие шаги для сделать часть приложения доступной как в SharePoint, так и в Teams:
- Убедитесь, что параметр конфигурации
supportedHosts
в <WebPart>.manifest.json
содержит параметры "TeamsPersonalApp"
и "TeamsTab"
. - Выполните
gulp bundle --ship
в командной строке. - Выполните
gulp package-solution --ship
в командной строке. - Перетащите полученный пакет в каталог приложений Sharepoint и дождитесь завершения загрузки.
- Щелкните пункт меню
"Sync to Teams"
.
Однако вариант (1) не работает для меня, поскольку веб-часть использует элементы управления DevExtreme, встроенные в JavaScript, и команды разработчиков / поддержки Dev Express не знакомы с использованием своих элементов управления в веб-части, которая создается в SPFx. Кроме того, веб-часть использует вызовы API для получения данных.
Итак, я завершил разработку одной из веб-частей, используя вариант (2). Вот ресурсы, на которые я ссылался при разработке:
В его нынешнем виде работает очень хорошо. Однако эта веб-часть также должна быть доступна в Sharepoint. Проблема в том, что схема manifest.json
файлов опций (1) и (2) различается, поэтому Sharepoint не позволит загрузить файл .zip, созданный с опцией 2.
Я пришел на этой странице, но на странице много неработающих ссылок, и это не совсем ответ на вопрос: https://techcommunity.microsoft.com/t5/microsoft-teams/is-it-possible-to-create-a-teams-webpart-and-display-it-on/m-p/110476.
Если кто-нибудь может помочь с этим (дополнительные ссылки, insights, et c), я был бы очень признателен!