如何通过Youtube Data API获取非本人所有的YouTube视频码率阶梯
非自有YouTube视频码率阶梯信息获取方案
你遇到的403错误属于YouTube Data API的官方明确权限限制:
The request is not properly authorized to access video file or processing information. Note that the
fileDetails,processingDetails, andsuggestionsparts are only available to that video's owner.
fileDetails字段仅对视频的所属所有者开放,无所有者授权的前提下无法通过官方公开的YouTube Data API获取该字段内容,调整API密钥、申请更高公共权限都无法突破该限制。
可行解决方案
方案1:解析公开播放流获取码率信息
针对公开可播放的无限制YouTube视频,可以通过提取视频的公开DASH/HLS播放清单解析码率阶梯:
- 每个公开可播放的YouTube视频都会对外暴露多清晰度的播放流地址,播放清单中包含了每个流对应的分辨率、编码格式、平均码率、峰值码率等完整的阶梯信息,该类信息公开可访问,无需所有者授权。
- 该方案仅适用于公开、无地域/版权/年龄限制的视频,受限视频无法正常获取播放清单。
方案2:获取视频所有者的OAuth授权
如果你和这批视频的所属方有合作关系,可以走官方OAuth 2.0授权流程:
- 引导视频所属频道的管理员给你的应用授予
https://www.googleapis.com/auth/youtube.readonly权限 - 授权完成后调用
Videos: list接口,指定part=fileDetails参数即可正常获取目标视频的码率阶梯等文件详情信息,不会再返回403错误。
注意事项
所有操作需要遵守YouTube的服务条款,不得将获取到的信息用于违规用途。
内容的提问来源于stack exchange,提问作者Alireza Erfanian
相关产品推荐
相关产品推荐

