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

如何通过Power Automate或Power Apps获取SharePoint库视频时长

SharePoint视频时长获取实现方案

你之前用标准SharePoint连接器的Get file properties/Get file metadata/Get file content拿不到时长,是因为视频时长属于SharePoint媒体服务自动爬取的隐藏扩展属性,默认不会在标准连接器返回字段里,手动在详情页看到的时长实际存储在文档库隐藏字段_vti_dur中,值为毫秒级整数,以下是两种可落地的实现路径:

方案1:Power Automate上传时预提取(推荐,Power Apps读取性能最优)

这个方案会在视频上传后自动把时长写入文档库自定义列,Power Apps后续直接读列值即可,无额外请求开销:

  • 提前在目标视频文档库新建自定义列,列名设为视频时长,类型选单行文本或者数字都可以
  • 新建自动化流,触发器选择「SharePoint - 当文件被创建时(仅属性)」,绑定对应文档库
  • 新增「延迟」动作,设置等待时间1分钟,规避SharePoint爬取媒体属性的延迟窗口,避免拿到空值
  • 新增「发送HTTP请求到SharePoint」动作,参数配置如下:
    • 站点地址:选择文档库所属的SharePoint站点
    • 请求方法:GET
    • 请求Uri:/_api/web/lists/getbytitle('替换成你的文档库显示名称')/items(触发器输出的文件ID)?$select=_vti_dur,FileLeafRef
  • 解析上一步HTTP请求返回的JSON,提取_vti_dur字段值,除以1000得到秒数,可按需格式化为HH:MM:SS的可读时间格式
  • 新增「更新文件属性」动作,把格式化后的时长值写入之前建好的视频时长自定义列
  • Power Apps端正常连接该文档库,直接读取视频时长列的值展示即可

方案2:Power Apps端实时读取(适合存量视频场景,无需补跑历史流)

如果不想给存量上百个视频补跑流,可以在Power Apps端通过即时流按需拉取时长:

  • 先在Power Automate新建即时流,触发方式选「Power Apps - 当Power Apps调用流时」,添加入参为文件ID(数字类型)
  • 流内逻辑和方案1一致:传入文件ID后,调用SharePoint HTTP请求拿对应文件的_vti_dur值,格式化后返回给Power Apps
  • 在Power Apps的视频列表Gallery中,给展示时长的标签控件配置公式,逐行调用上述即时流传入当前行文件ID,拿到返回值后展示
  • 注意:该方案每次加载列表都会产生批量接口请求,视频条目超过50条时会有明显加载延迟,不适合大体量视频库使用

踩坑提示:如果遇到部分视频拿不到_vti_dur值,先确认视频编码为SharePoint支持的标准媒体格式(MP4、MOV、WMV等),特殊编码、加密的视频不会被SharePoint自动爬取时长属性,这类场景需要额外加媒体解析动作读取文件元数据。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 14:45:35