You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Teams应用机器人能否读取应用清单信息解决静态标签部署冲突

解决方案

方案1:调用Graph API判断用户安装的应用版本(完全匹配你要的tabExists逻辑)

你可以通过Graph API直接查询当前触发命令的用户安装的你的应用的版本号,判断是否支持静态tab:

  • 首先给你的bot申请TeamsAppInstallation.ReadForUser应用权限,在Azure门户的应用注册页面完成权限授予
  • 当用户触发Test命令时,调用如下Graph接口:
GET /users/{用户AAD ID}/teamwork/installedApps?$expand=teamsApp&$filter=teamsApp/externalId eq '23232322-7676-4848-5555-44444444444'
  • 解析返回结果中的teamsApp.teamsAppDefinition.version字段,若版本号≥2.1.0则返回带跳转按钮的自适应卡片,否则返回旧版文本提示

方案2:分阶段灰度发布(无额外开发量,风险最低)

不需要修改现有业务逻辑,按如下顺序发布即可完全规避冲突:

  1. 先将新增了static tab的v2.1.0版本manifest提交到Teams应用商店,发布时选择分阶段发布,先仅推送给内部测试用户
  2. 确认所有测试用户已收到v2.1.0版本应用后,将应用商店的发布范围调整为全量推送
  3. 等待72小时(Teams应用商店的全量覆盖周期)后,再升级生产服务器的代码,返回带跳转按钮的自适应卡片

方案3:中转页兼容兜底(兼容所有用户版本,体验最优)

不需要做版本判断,直接返回带跳转按钮的自适应卡片,将按钮的跳转地址替换为你自己的服务中转页地址:

  • 中转页引入Teams JS SDK,初始化完成后调用microsoftTeams.app.navigateToApp()方法尝试跳转至目标static tab
  • 若跳转失败(即用户应用版本不支持该tab),则在中转页直接展示「该功能需要升级应用到最新版本后使用」的提示即可
  • 注意要将中转页的域名添加到manifest的validDomains列表中

内容的提问来源于stack exchange,提问作者Ari Unikoski

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 21:06:02