SharePoint视频下载器
Claude具备下载SharePoint、OneDrive和Teams会议记录的代码技能。
SharePoint视频仅在浏览器中查看。没有下载按钮。该流是DRM加密的。此技能通过Chrome DevTools提取身份验证Cookie,并将其馈送到ffmpeg以下载未加密的转码流。
问题
Microsoft Teams会议记录存储在SharePoint/OneDrive中。如果有人与你共享录制链接,你可以在浏览器中观看,但通常无法下载——下载选项被禁用或变灰。
每个试图解决这个问题的工具都遇到了同样的问题:SharePoint视频使用带有加密片段的DASH流媒体,而解锁未加密流的身份验证Cookie是 httpOnly -JavaScript不可见。
这是如何工作的
- Chrome DevTools MCP在您控制的浏览器中打开SharePoint页面
- 您正常登录
- 技能阅读
httpOnly通过Chrome DevTools协议从网络请求头中获取auth Cookie(rtFa、FedAuth)document.cookie做不到 - 它抓住了
videomanifest来自网络流量的URL - ffmpeg使用这些Cookie+清单URL下载完整视频
关键见解:SharePoint服务于 未加密 将转码流转换为经过身份验证的清单请求。浏览器播放器通过MSE/EME使用加密段,但当您拥有有效的会话Cookie时,清单端点会提供干净的内容。
先决条件
- 已安装ffmpeg(
brew install ffmpeg) - 访问以在浏览器中查看视频(您需要有效的Microsoft 365登录名)
安装
将技能文件夹放入Claude Code技能目录:
# Clone into your skills folder
git clone https://github.com/adampaulwalker/sharepoint-video-downloader.git ~/.claude/skills/sharepoint-video
# Or if you manage skills elsewhere, symlink it
git clone https://github.com/adampaulwalker/sharepoint-video-downloader.git ~/path/to/skills/sharepoint-video
ln -s ~/path/to/skills/sharepoint-video ~/.claude/skills/sharepoint-video重新启动克劳德代码。技能自动从中发现 SKILL.md 文件。
用法
只需将SharePoint/OneDrive视频URL粘贴到Claude代码中:
download this video: https://mycompany-my.sharepoint.com/:v:/r/personal/...或者使用自然语言:
download this teams recording
save this sharepoint video to ~/Downloads克劳德将:
- 在Chrome DevTools浏览器中打开URL
- 要求您登录(如果需要)
- 提取Cookie和清单URL
- 通过ffmpeg下载
- 保存到指定位置
什么不起作用(以及为什么)
| 方法 | 结果 |
|---|---|
SharePoint下载API($value 端点) | 403禁止(仅查看共享) |
download.aspx | 访问被拒绝重定向 |
| ffmpeg+清单URL(无Cookie) | HTTP 500 |
document.cookie / cookieStore.getAll() | 仅返回JS可访问的Cookie,不返回httpOnly身份验证Cookie |
| 通过浏览器fetch()获取片段 | 返回DRM加密的数据 |
| yt-dlp | 不支持本机SharePoint流 |
额外奖励:转录提取
团队录音通常有一个记录面板。该技能还可以通过遍历React纤维树来提取完整的转录,从而绕过在DOM中一次只显示约30个项目的虚拟化渲染。
它与其他工具有何不同
此技能使用Claude Code的Chrome DevTools MCP直接从网络请求头读取cookie——无需手动复制cookie,无需安装浏览器扩展程序,也无需单独的GUI应用程序。
需求
- macOS或Linux(Windows未测试)
- 用Claude代码配置Chrome DevTools MCP
- FFmpeg
- 具有视频查看权限的有效Microsoft 365凭据
许可证
麻省理工学院
