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

能否以已注册应用身份通过MS Graph定时发送Teams一对一聊天消息?

可以通过已注册应用向Microsoft Teams一对一聊天发送消息

当然可以实现这个需求,核心是通过Microsoft Graph API结合应用权限完成,具体实现逻辑如下:

  • 配置应用权限:在Azure AD注册的应用需添加ChatMessage.Send应用权限(注意是应用权限,而非委派权限),并完成管理员全局同意。
  • 获取应用身份的Access Token:使用客户端凭据流(Client Credentials Flow)获取token,请求示例:
    POST https://login.microsoftonline.com/{tenant-id}/oauth2/v2.0/token
    Content-Type: application/x-www-form-urlencoded
    
    grant_type=client_credentials
    &client_id={你的客户端ID}
    &client_secret={你的客户端密钥}
    &scope=https://graph.microsoft.com/.default
    
  • 调用Graph API发送消息:拿到token后,调用POST /users/{用户ID}/chats/{聊天ID}/messages接口发送消息,请求示例:
    POST https://graph.microsoft.com/v1.0/users/{用户ID}/chats/{聊天ID}/messages
    Authorization: Bearer {access-token}
    Content-Type: application/json
    
    {
      "body": {
        "content": "这是定时触发的消息内容"
      }
    }
    
  • 定时任务触发:将获取token和调用API的逻辑封装成脚本,通过cron(Linux)或系统任务计划(Windows)设置每小时执行一次即可。

注意事项:

  • 需提前获取目标用户ID和对应的一对一聊天ID,可通过GET /users/{用户ID}/chats接口查询获取。
  • 应用权限必须经过全局管理员同意才能生效,确保权限配置步骤正确。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 22:32:36