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

如何无需用户安装组件实现Teams一对一消息推送?

实现Teams无组件一对一通知的可行方案

核心解决方案:MS Graph API应用权限模式

你之前的误区在于对MS Graph应用权限的使用方式——实际上应用权限支持创建一对一聊天并发送消息,无需用户安装任何组件,也能避开2FA问题。

1. 配置Azure AD应用权限

在Azure AD中注册应用,添加以下应用权限(需组织全局管理员同意):

  • Chat.Create:允许应用创建一对一聊天会话
  • ChatMessage.Send:允许应用在聊天中发送消息
  • User.Read.All:读取组织内用户信息,用于定位目标用户

2. 调用API创建聊天并发送消息

创建一对一聊天会话

先创建服务账号与目标用户的聊天会话:

POST https://graph.microsoft.com/v1.0/chats
Content-Type: application/json

{
  "chatType": "oneOnOne",
  "members": [
    {
      "@odata.type": "#microsoft.graph.aadUserConversationMember",
      "roles": ["owner"],
      "user@odata.bind": "https://graph.microsoft.com/v1.0/users('{你的服务账号ID}')"
    },
    {
      "@odata.type": "#microsoft.graph.aadUserConversationMember",
      "roles": ["owner"],
      "user@odata.bind": "https://graph.microsoft.com/v1.0/users('{目标用户ID}')"
    }
  ]
}

发送交互型消息

拿到返回的chatId后,发送带交互元素的消息(支持HTML格式,可嵌入按钮、链接实现主动交互):

POST https://graph.microsoft.com/v1.0/chats/{chatId}/messages
Content-Type: application/json

{
  "body": {
    "contentType": "html",
    "content": "<p>系统通知:你的待办任务已逾期<br/><a href='https://your-system-url/task' target='_blank'>立即处理</a></p>"
  }
}

关键优势

  • 无需用户安装任何组件:聊天会话由应用主动创建,目标用户会直接收到Teams弹窗通知,打开后即为一对一聊天界面。
  • 避开2FA问题:应用权限模式使用应用凭据(客户端ID+密钥/证书)调用API,无需服务账号交互式登录,完全绕过2FA流程。
  • 支持交互:通过HTML格式消息可嵌入按钮、链接,满足主动交互需求。

其他注意事项

  • 会话管理:可以缓存创建后的chatId,后续直接复用该会话发送消息,无需重复创建。
  • 合规性:确保通知内容符合组织Teams使用规范,避免发送无关消息引发投诉。

内容的提问来源于stack exchange,提问作者David Kiff

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 14:37:40