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

如何通过Teams聊天Webhook发送完整可点击URL的文本而不被截断?

在Teams Webhook中实现类似Slack的完整长文本+可点击URL功能

你的需求是通过Teams Webhook实现Slack Webhook的效果:发送包含URL的长文本时,URL自动可点击、文本完整显示(如同手动输入)。Slack的实现代码如下:

await fetch(slackWebhook, {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    text: s
  })
});

但你尝试的Teams自适应卡片写法会导致文本截断,以下是两种可行的解决方案:

方法一:直接发送普通文本消息(最接近手动输入效果)

Teams Incoming Webhook支持直接发送简单消息结构,不需要嵌套自适应卡片,效果和手动输入完全一致——URL会自动被识别为可点击链接,长文本自动换行且完整显示。代码示例:

await fetch(teamsWebhook, {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    text: s
  })
});

方法二:使用自适应卡片并正确配置文本属性(适合复杂布局场景)

如果必须使用自适应卡片,需要给TextBlock添加换行和行数限制配置,避免文本截断。核心配置是wrap: true(允许换行)和maxLines: 0(不限制行数,显示全部内容),代码示例:

await fetch(teamsWebhook, {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    "type": "message",
    "summary": "Deployment",
    "attachments": [
      {
        "contentType": "application/vnd.microsoft.card.adaptive",
        "content": {
          "$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
          "type": "AdaptiveCard",
          "version": "1.2",
          "msteams": {
            "width": "Full"
          },
          "body": [
            {
              "type": "TextBlock",
              "text": s,
              "wrap": true,
              "maxLines": 0,
              "overflow": "visible"
            }
          ]
        }
      }
    ]
  })
});

原代码问题说明

你之前的自适应卡片写法没有配置wrap: true,导致长文本强制单行显示并截断;同时未设置maxLines,默认行数限制会隐藏部分内容,添加上述配置后即可解决问题。

内容的提问来源于stack exchange,提问作者Tom Boutell

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 18:20:18