如何以编程方式显示或隐藏 MS Teams 选项卡?
How to show or hide MS Teams tabs programmatically?
我们正在为 Microsoft Teams 开发一个应用程序,我们需要根据租户和用户权限使某些选项卡在运行时可见或不可见。例如:
- 某些选项卡应该对某些租户可见,而对其他租户不可见(取决于对我们 API 的服务呼叫)。
- 某些选项卡必须对 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
,基于它我们可以显示一个页面,可能会说 “您没有权限”。
我们正在为 Microsoft Teams 开发一个应用程序,我们需要根据租户和用户权限使某些选项卡在运行时可见或不可见。例如:
- 某些选项卡应该对某些租户可见,而对其他租户不可见(取决于对我们 API 的服务呼叫)。
- 某些选项卡必须对 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
,基于它我们可以显示一个页面,可能会说 “您没有权限”。