You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何在Microsoft Teams创建新聊天线程时@提及团队?

解决在Microsoft Graph API创建聊天线程时@整个团队的问题

我刚搞定过类似的场景!直接在消息内容里敲@team只会显示成普通文本,根本触发不了团队提及——这是因为Graph API要求你通过结构化的提及元数据来明确指定要@的对象,而不是靠纯文本识别。

下面是正确的实现方式:

核心原理

要@整个团队,你需要同时做两件事:

  1. 在消息的HTML内容里用<at>标签包裹提及文本,并且给标签指定一个ID;
  2. mentions数组里添加对应的团队提及对象,把ID和团队信息关联起来。

完整请求体示例

这里是调用channel/postChatThreads接口的请求体模板,你替换成自己的团队/频道ID就能用:

{
  "topic": "项目启动讨论",
  "posts": [
    {
      "body": {
        "contentType": "html",
        "content": "各位<at id=\"0\">@Team</at>,咱们来同步下新项目的进度安排!"
      },
      "mentions": [
        {
          "id": 0,
          "mentionType": "team",
          "team": {
            "id": "你的团队ID"
          },
          "text": {
            "content": "@Team",
            "contentType": "text"
          }
        }
      ]
    }
  ],
  "channelIdentity": {
    "teamId": "你的团队ID",
    "channelId": "你的频道ID"
  }
}

关键细节说明

  • contentType必须设为html:只有HTML格式的内容才能解析<at>标签,纯文本格式不支持提及功能;
  • ID要一一对应<at id="0">里的ID必须和mentions数组中对象的id值完全匹配;
  • 权限检查:确保你的应用已经获取了正确的权限(比如beta版接口需要ChannelMessage.Send权限),否则会返回权限不足的错误。

这样发送后,团队里的所有人都会收到提及通知,消息里的@Team也会变成可点击的团队提及样式啦!

内容的提问来源于stack exchange,提问作者Wesley Hackett

火山引擎 最新活动