如何通过YouTube API在Web应用中实现内嵌视频剪辑功能?
解决方案:通过YouTube API创建视频剪辑并获取新视频ID
首先明确:YouTube Data API本身没有直接提供“指定起止时间生成独立剪辑视频并返回新ID”的原生接口,但可以通过以下两种合规路径实现需求:
1. 结合OAuth授权调用剪辑创建逻辑
- 先通过
channels.listAPI接口获取用户的contentDetails.relatedPlaylists.uploads(即用户的上传列表ID)。 - 当用户在你的内嵌播放器中选定起止时间后,通过OAuth 2.0授权你的应用访问其YouTube账户,触发剪辑创建操作:指定原视频ID、开始时间(秒级)、结束时间(秒级),以及剪辑的标题、描述等元数据。
- 剪辑创建完成后,调用
playlistItems.list接口查询用户上传列表的最新条目,即可提取新生成的剪辑视频ID。
2. 基于剪辑分享链接转存为独立视频
- 若仅需生成可播放的剪辑入口,可直接构造YouTube剪辑链接:
https://youtu.be/[原视频ID]?start=[开始秒数]&end=[结束秒数],但这并非独立视频。 - 若要转为带独立ID的视频,需引导用户点击该链接后选择“保存到我的YouTube”,之后你可通过API查询用户上传列表获取新视频ID。
关键限制
- 所有操作必须符合YouTube API服务条款,不可绕过用户授权直接生成内容。
- 仅原视频所有者或获得授权的用户,可直接创建并保存剪辑为独立视频;公开允许剪辑的视频,普通用户需将剪辑保存至自身账户后才能获取对应ID。
内容的提问来源于stack exchange,提问作者Majid Jamili
相关产品推荐
相关产品推荐

