You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过YouTube API高效验证大量视频ID归属授权用户?

解决YouTube视频ID归属OAuth授权用户的高效方案

嘿,我之前处理过类似的需求,给你几个实用的思路,应该能解决你的问题:

1. 批量查询视频详情,对比频道ID(最高效)

这是最直接的方案,不用遍历用户的所有视频:

  • 首先,通过channels.list接口,带上mine=true参数(需要OAuth授权),获取当前授权用户的频道ID(返回结果里的id字段)。
  • 然后,把你的100+视频ID分成每50个一组(因为YouTube API的videos.list接口一次最多支持50个ID查询),调用videos.list,参数设置为:
    • part=snippet
    • id=视频ID1,视频ID2,...
  • 对每个返回的视频对象,提取snippet.channelId字段,和你刚才拿到的授权用户频道ID做对比,匹配上的就是属于该用户的视频。

这个方法的优势是请求次数极少(100多个视频只需要2-3次请求),API配额消耗也很低,完全符合你的高效需求。

2. 获取频道所有视频,做ID交集(适合需要全量验证的场景)

如果你的需求是确认数组里的视频是否都在用户频道内,或者需要获取用户的全部视频ID,可以用这个方法解决分页限制:

  • 第一步还是通过channels.list获取用户的默认上传播放列表ID,在返回结果的contentDetails.relatedPlaylists.uploads字段里。
  • 调用playlistItems.list接口,参数设置为:
    • part=contentDetails
    • playlistId=刚才拿到的上传列表ID
    • maxResults=50(最大每页数量)
  • 每次请求后,检查返回结果里的nextPageToken,如果存在,就带上这个参数继续请求,直到nextPageToken为空,这样就能拉取到该频道的所有视频ID。
  • 最后把拉取到的所有视频ID和你的数组做交集,就能得到匹配的视频。

注意:如果用户频道的视频非常多(比如上万条),这个方法的请求次数会比较多,但YouTube API的配额足够支撑这类操作,而且逻辑简单易懂。

额外提示

  • API配额:channels.list和videos.list每次请求消耗1个配额单位,playlistItems.list也是每次1个,100多个视频的场景下配额完全不用担心。
  • 授权验证:确保你的OAuth授权请求包含了https://www.googleapis.com/auth/youtube.readonly或者更高级的权限,这样才能正常调用上述接口。

内容的提问来源于stack exchange,提问作者Dylan Buth

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 08:27:47