如何以编程方式显示或隐藏 MS Teams 选项卡?

How to show or hide MS Teams tabs programmatically?

我们正在为 Microsoft Teams 开发一个应用程序,我们需要根据租户和用户权限使某些选项卡在运行时可见或不可见。例如:

这些都是 personal tabs 顺便说一句。我在文档中找不到任何对这方面有帮助的内容。标签似乎由清单修复,并且对所有用户显示相同。

这能做到吗?如何?我可能会接受任何可行的解决方法。

因此没有直接的方法。

但是您可以拥有 ConfigureTabs,当您将该选项卡添加到频道时 configure page,它会显示出来。然后您可以获取上下文并检查您想对该特定团队执行的操作(可能需要使用 Graph API 来获取有关团队 ID 的更多信息)。

当用户选择保存时,此逻辑将 运行 在配置页面上。可以按逻辑有tab

microsoftTeams.settings.registerOnSaveHandler((saveEvent) => {
    microsoftTeams.settings.setSettings({
        websiteUrl: "https://your-website.com",
        contentUrl: "https://your-website.com/red",
        entityId: "redIconTab",
        suggestedDisplayName: "MyNewTab"
    })
    saveEvent.notifySuccess()
})

这无法通过多个配置选项卡或静态选项卡完成。 关于向某些用户显示选项卡,这也无法直接使用清单。

但是,您可以使用 getContext and get the userObjectId,基于它我们可以显示一个页面,可能会说 “您没有权限”