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

如何从Microsoft个人账户获取群组列表并调用API发送群组消息

实现方案总览

你需要的功能可以通过Microsoft Graph API实现,支持个人Microsoft账户读取已加入的群组列表、向Teams群组/Outlook邮件群组发送消息,具体实现流程如下:

前置准备:Azure应用注册

调用接口前需要先完成应用注册获取访问凭证:

  • 登录Azure门户进入应用注册界面,创建新应用,账户类型选择「仅个人Microsoft账户用户」
  • 注册完成后记录客户端ID(client_id),配置重定向URI,本地调试可填写http://localhost
  • 配置所需的委托权限:
    • 读取群组列表:Group.Read.All
    • 向Teams群组发消息:ChatMessage.Send、Teamwork.Messaging.Send
    • 向Outlook邮件群组发邮件:Mail.Send

步骤1:获取个人账号的群组列表

调用Microsoft Graph的已加入群组查询接口,请求格式如下:
GET https://graph.microsoft.com/v1.0/me/joinedGroups
可以附加$filter参数筛选特定类型的群组,返回结果会包含群组ID、群组名称、群组类型、群组邮件地址等核心字段,你可以提取需要发送消息的群组ID/邮件地址留存备用。
注意:个人Microsoft账户只能拉取你本人已经加入的群组,无法查询未加入的群组列表

步骤2:向对应群组发送消息

根据你使用的群组类型选择对应的接口:

场景1:向Teams群组发送频道消息

请求方法为POST,接口格式为https://graph.microsoft.com/v1.0/teams/{替换为你的群组ID}/channels/{替换为对应频道ID}/messages,请求体示例:

{
  "body": {
    "content": "你要发送的消息内容,支持HTML格式"
  }
}

如果需要@指定用户,可以额外添加mentions字段配置@对象信息。

场景2:向Outlook邮件群组发送邮件

请求方法为POST,接口为https://graph.microsoft.com/v1.0/me/sendMail,请求体中将收件人设置为群组邮件地址即可,示例:

{
  "message": {
    "subject": "邮件主题",
    "body": {
      "contentType": "Text",
      "content": "邮件正文内容"
    },
    "toRecipients": [
      {
        "emailAddress": {
          "address": "替换为群组的邮件地址"
        }
      }
    ]
  }
}

实现建议

  • 优先使用OAuth 2.0授权码流获取访问令牌,不要使用密码授权流,避免账号密码泄露风险
  • 调用接口前可以先校验访问令牌的scp字段,确认所需权限已经被正确授予
  • 接口有调用频率限制,短时间内大量发送消息会触发限流,建议做好请求间隔控制和失败重试逻辑
  • 本地调试阶段可以直接用Microsoft Graph Explorer工具测试接口正确性,不用提前开发授权逻辑,调试通后再做代码集成

内容的提问来源于stack exchange,提问作者Dimple Munjani

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 02:54:08