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

如何在Microsoft Teams Bot中获取用户发送的SharePoint共享文件链接

如何获取Teams Bot中用户从OneDrive/SharePoint链接的文件信息?

当用户从OneDrive共享的SharePoint文件夹选择文件发送链接时,Teams不会将其作为标准文件附件传递给Bot,而是以**富文本消息(text/html类型)**的形式发送,这就是你看到context.activity.attachments仅返回HTML内容的原因。以下是解决方法:

1. 解析HTML内容提取文件链接

用户发送的链接文件会被嵌入到HTML的<a>标签中,你可以通过HTML解析工具提取其中的href属性值,这就是文件的共享链接。

示例代码(Node.js环境):

const cheerio = require('cheerio');
// 从活动附件中取出HTML内容
const htmlContent = context.activity.attachments[0].content;
// 加载HTML并解析链接
const $ = cheerio.load(htmlContent);
const fileShareUrl = $('a').attr('href');

示例代码(C#环境):

using HtmlAgilityPack;

var htmlContent = context.Activity.Attachments[0].Content.ToString();
var doc = new HtmlDocument();
doc.LoadHtml(htmlContent);
var fileShareUrl = doc.DocumentNode.SelectSingleNode("//a")?.GetAttributeValue("href", string.Empty);

2. 是否有其他可监听的事件?

目前Teams Bot框架没有专门针对“链接SharePoint/OneDrive文件”的独立事件。这种操作本质上属于普通的消息发送事件,核心还是处理消息活动并解析其中的HTML内容。

补充说明

  • 上传文件时,Teams会将文件内容上传至指定存储,因此附件中会包含downloadUrl;而链接文件只是发送云端文件的共享链接,属于消息文本的一部分,并非标准附件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 13:50:44