我正在将几个现有的 Web 部件(使用 SharePoint 加载项项目模板在 Visual Studio 中构建)转换为在 Microsoft Teams 中工作。简而言之,有两个方向可以做到这一点:
- 使用 SharePoint 框架 (SPFx)、NodeJS、Typescript、Visual Studio Code 和 Yeoman 生成器,或者
- Visual Studio、HTML、Javascript、AppStudio for Microsoft Teams 和 NGROK(用于测试)。
以下选项 (1) 完全解决了整个问题,因为它只涉及使应用程序部分在 SharePoint 和 Teams 中可用的这些步骤:
- 确保其中的
supportedHosts
配置设置<WebPart>.manifest.json
包含"TeamsPersonalApp"
和"TeamsTab"
选项。 gulp bundle --ship
在命令提示符中执行。gulp package-solution --ship
在命令提示符中执行。- 将生成的包拖放到 Sharepoint 应用程序目录中,然后等待上传完成。
- 单击
"Sync to Teams"
菜单项。
但是,选项 (1) 对我不起作用,因为 Web 部件使用内置于 JavaScript 中的 DevExtreme 控件,并且 DevExpress 开发/支持团队不熟悉在 SPFx 中构建的 Web 部件中使用他们的控件。此外,Web 部件使用 API 调用来检索数据。
因此,我使用选项 (2) 完成了其中一个 Web 部件的开发。这些是我在进行开发时参考的资源:
- https://www.rickvanrousselt.com/teams-ramp-up-part-3/
- https://docs.microsoft.com/en-us/microsoftteams/platform/tutorials/get-started-dotnet-app-studio。
就目前而言,它工作得非常好。但是,此 Web 部件也必须在 Sharepoint 中可用。问题是选项 (1) 和 (2) 的文件架构manifest.json
不同,因此 Sharepoint 将不允许上传使用选项 2 生成的 .zip 文件。
我遇到了这个页面,但是页面上有很多断开的链接,它并没有真正回答这个问题:https ://techcommunity.microsoft.com/t5/microsoft-teams/is-it-possible-to-create -a-teams-webpart-and-display-it-on/mp/110476。
如果有人可以为此提供帮助(其他链接、见解等),我将不胜感激!