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

能否通过webhook或API在Microsoft Teams消息中直接上传本地文件作为附件?

Microsoft Teams发送本地文件附件的可行方案说明

目前不存在完全绕过云存储环节、直接通过普通入站webhook把本地文件作为原生附件上传到Teams消息的方案,所有原生附件的底层存储都依赖微软系的OneDrive/SharePoint服务,但可以通过代码自动化实现和直传一致的使用体验,不需要手动操作云存储。

方案1:使用Microsoft Graph API实现自动化直传效果

该方案可以实现和手动从本地上传完全一致的原生附件显示效果,中间的云存储上传环节完全由代码自动完成,无需手动操作。
具体实现步骤:

  • 首先在Azure Active Directory中注册应用,授予ChatMessage.Send、Files.ReadWrite.All、TeamsAppInstallation.ReadWriteForUser等对应权限,完成管理员同意授权
  • 调用Graph API的文件上传接口,把本地文件上传到目标聊天/频道对应的Drive空间(频道消息对应SharePoint站点文档库,私聊/群聊对应聊天绑定的临时Drive),获取到文件的DriveItem ID和资源URL
  • 调用发送消息的Graph接口,在attachments字段中填入对应文件信息即可,核心请求示例如下:
{
  "body": {
    "contentType": "html",
    "content": "这是带附件的测试消息"
  },
  "attachments": [
    {
      "id": "替换为实际获取的DriveItem ID",
      "contentType": "reference",
      "contentUrl": "替换为实际的DriveItem资源URL",
      "name": "你的本地文件名.后缀"
    }
  ]
}

方案2:普通webhook的折中适配方案

如果仍要使用入站webhook、不想对接Graph API,可以使用自适应卡片嵌入Base64编码文件的方式实现附件效果,该方案仅适用于小于28KB的小型文件(比如小尺寸图片、短文本文件),超过大小会发送失败。

普通webhook无法直接传附件的原因

Teams入站webhook的设计仅支持接收文本、各类消息卡片内容,没有开放文件上传的入站通路,因此原生不支持直接发送附件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 02:15:04