如何通过YouTube API v3一次获取非自有播放列表总时长?
获取YouTube播放列表总时长的优化方法
先澄清一个常见误解:通过
id=aaaaa&id=bbbbb批量调用videos.list接口不需要是视频所有者,只要视频是公开状态,任何人都可以用这种方式批量获取时长,这是YouTube Data API的常规用法,不存在所有者限制。更高效的方案是直接通过一次调用拿到所有视频时长:调用
playlistItems.list接口时,指定part=contentDetails参数,返回的每个播放列表条目里会直接包含contentDetails.duration字段,无需额外调用videos.list接口。
具体操作步骤:
- 发起
playlistItems.list请求,核心参数:playlistId:目标播放列表的IDpart=contentDetailsmaxResults:单次请求最多返回50条数据,若播放列表视频超过50个,需通过pageToken参数分页获取后续内容
- 遍历返回结果中的
items数组,提取每个条目里的contentDetails.duration(格式为ISO 8601标准,例如PT12M45S代表12分45秒) - 将所有ISO 8601格式的时长转换为统一单位(如秒)后求和,即可得到播放列表的总时长
注意:该方法仅适用于公开播放列表,私有播放列表需要具备对应访问权限才能获取数据。
内容的提问来源于stack exchange,提问作者Moath Ibrahem
相关产品推荐
相关产品推荐

