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

如何实现点击个人聊天Adaptive Card按钮跳转至频道特定消息?

实现Adaptive Card按钮跳转至指定频道特定消息的方案

方案一:直接使用平台深度链接(推荐)

大多数支持Adaptive Card的协作平台(如Microsoft Teams)都提供消息深度链接,可直接通过Adaptive Card的Action.OpenUrl按钮实现跳转:

  • 先构造目标消息的深度链接,以Teams为例,格式为:
    https://teams.microsoft.com/l/message/{频道ID}/{消息ID}?tenantId={租户ID}
    
    你可通过平台API(如Microsoft Graph API)或手动复制消息链接的方式获取该地址。
  • 在Adaptive Card的按钮配置中,将type设为Action.OpenUrl,把构造好的深度链接赋值给url字段,示例JSON片段如下:
    {
      "type": "AdaptiveCard",
      "version": "1.5",
      "body": [
        {
          "type": "TextBlock",
          "text": "点击下方按钮查看目标消息"
        }
      ],
      "actions": [
        {
          "type": "Action.OpenUrl",
          "title": "跳转至目标消息",
          "url": "https://teams.microsoft.com/l/message/19:abc123@thread.tacv2/123456789?tenantId=def456"
        }
      ]
    }
    
    用户点击按钮后,会直接被导航到指定频道的目标消息页面。

方案二:通过Bot后台逻辑间接跳转(适用于需要权限校验的场景)

如果需要对用户权限做校验,或动态生成跳转链接,可使用Action.Submit按钮结合Bot后台处理:

  • 在Adaptive Card中配置Action.Submit按钮,携带目标消息的标识(如频道ID、消息ID):
    {
      "type": "Action.Submit",
      "title": "跳转至目标消息",
      "data": {
        "action": "navigateToMessage",
        "channelId": "19:abc123@thread.tacv2",
        "messageId": "123456789"
      }
    }
    
  • Bot接收到用户的提交请求后,通过平台API(如Microsoft Graph的GET /teams/{team-id}/channels/{channel-id}/messages/{message-id})验证用户权限,并生成对应的深度链接。
  • Bot将生成的链接返回给用户(可以是文本消息或新的Adaptive Card),用户点击链接完成跳转。

注意事项

  • 不同平台的深度链接格式不同,需根据实际使用的平台(如Slack、Microsoft Teams)调整链接构造规则。
  • 确保用户拥有目标频道和消息的访问权限,否则跳转后会显示权限不足的提示。

内容的提问来源于stack exchange,提问作者Ayesha Kulsum S J

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 14:18:39