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

新版MS Teams:自适应卡片深层链接跳转后丢失Activity标签

问题分析与解决方案

1. 补全深层链接的上下文参数

新版Teams对深层链接的上下文校验比经典版严格,你使用的基础格式https://teams.microsoft.com/l/entity/<APP_ID>/<TAB_ENTITY_ID>缺少团队/会话的关键参数,导致Teams无法识别应用已安装状态,进而出现丢失标签页、触发安装框的问题。

补全后的链接需要带上context参数,把机器人对话中获取到的团队ID、频道ID、租户ID填入:

https://teams.microsoft.com/l/entity/<APP_ID>/<TAB_ENTITY_ID>?context={"teamId":"<TEAM_ID>","channelId":"<CHANNEL_ID>","tenantId":"<TENANT_ID>"}

这些ID可直接从机器人收到的Activity对象中提取,确保链接与当前对话的上下文绑定。

2. 调整自适应卡片按钮的跳转配置

直接用openUrl打开链接时,新版Teams可能跳过上下文校验。试试给链接追加&launchContext=chat参数,或者改用invoke动作先让机器人返回带完整上下文的链接再跳转:

{
  "type": "Action.OpenUrl",
  "title": "打开目标标签页",
  "url": "https://teams.microsoft.com/l/entity/<APP_ID>/<TAB_ENTITY_ID>?context={"teamId":"<TEAM_ID>","channelId":"<CHANNEL_ID>"}&launchContext=chat"
}

3. 确认应用安装范围

检查你的应用是否已安装到目标团队/聊天中。如果应用仅在个人范围安装,但链接指向团队标签页,新版Teams就会弹出安装提示。可以通过Teams管理中心查看应用安装状态,或者在机器人中调用TeamsInfo.GetTeamMembersAsync验证应用是否已部署到对应团队。

4. 用Teams JS SDK生成链接(涉及前端场景)

如果是在前端页面生成深层链接,不要直接拼接URL,改用Teams JS SDK的microsoftTeams.link.openLink方法,它会自动适配新版Teams的校验规则,避免出现标签页丢失或安装提示的问题:

microsoftTeams.link.openLink({
  url: "https://teams.microsoft.com/l/entity/<APP_ID>/<TAB_ENTITY_ID>",
  context: {
    teamId: "<TEAM_ID>",
    channelId: "<CHANNEL_ID>"
  }
});

内容的提问来源于stack exchange,提问作者Daniel Fino

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 21:12:11