如何用YouTube API v3获取视频字幕?403权限错误求助
YouTube字幕获取问题解决方案
能否获取所有带字幕的YouTube视频字幕?
不行。只有满足以下条件的字幕才能通过官方API获取:
- 视频归你所有,或你拥有该视频的管理权限
- 视频所有者开启了第三方字幕贡献/下载权限
- 字幕本身未受版权或隐私限制(部分官方字幕、付费内容字幕无法下载)
你的403错误原因
根据返回的错误信息,问题出在两个方向:
- 权限不匹配:当前的权限范围不足以下载目标字幕,或授权流程存在问题(比如令牌无效、权限请求不全)
- 视频设置限制:视频所有者未开启第三方下载字幕的权限,或该字幕本身禁止外部下载
正确操作流程与错误排查
1. 调整权限范围
- 若访问自己的视频字幕:优先使用
https://www.googleapis.com/auth/youtube(全权限)或https://www.googleapis.com/auth/youtube.force-ssl,这两个权限足以下载自有视频的所有字幕 - 若访问第三方公开视频字幕:需确认视频所有者开启了字幕下载权限,此时
https://www.googleapis.com/auth/youtube.readonly可能有效,但部分视频仍会限制访问
2. 规范API调用步骤
获取字幕ID:
执行GET请求,替换{视频ID}和{API密钥/访问令牌}:https://www.googleapis.com/youtube/v3/captions?part=id,snippet&videoId={视频ID}&key={API密钥}注意:如果是OAuth授权,需在请求头中携带
Authorization: Bearer {访问令牌},而非仅用API密钥下载字幕:
执行GET请求,替换{字幕ID}和认证信息,可通过tfmt参数指定格式(如srt、vtt):https://www.googleapis.com/youtube/v3/captions/{字幕ID}?tfmt=srt&key={API密钥}OAuth授权同样需要携带Bearer令牌
3. 针对性排查403错误
- 验证视频归属:如果是他人视频,直接确认所有者是否开启字幕下载权限,或更换其他允许下载字幕的测试视频
- 检查授权令牌:确认OAuth令牌未过期,且授权时请求了正确的权限范围
- 自查视频设置(自有视频):登录YouTube Studio,进入视频的「字幕」设置页,确认开启了「允许他人下载字幕」选项
内容的提问来源于stack exchange,提问作者Natali S.
相关产品推荐
相关产品推荐

