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

YouTube API的publishedAfter与publishedBefore参数失效,无法筛选特定年份视频

为什么我的YouTube API筛选特定年份视频的请求失效?

嘿,我来帮你排查这个问题——你的请求里有几个关键错误导致筛选功能失效,咱们一步步拆解:

核心问题:用错了API端点

你当前调用的是videos.list接口,这个接口的作用是根据已知的视频ID获取详情,它并不支持publishedAfter、publishedBefore这类用于时间范围筛选的参数。如果要按发布时间搜索符合条件的视频,你应该使用search.list接口。

其他参数错误

  • 无效参数:请求里的"home"=true是完全不存在的参数,而且参数名不需要加引号,直接删掉这个项就好。
  • 日期格式错误:你写的2007-04-"01T00%3A00%3A00Z里多余的引号会导致API无法正确解析时间,正确的格式应该是2007-04-01T00:00:00Z(URL编码后为2007-04-01T00%3A00%3A00Z)。

正确的请求示例

如果你要搜索2007年4月1日到2009年5月1日之间发布的视频,正确的search.list请求应该是这样的:

GET https://www.googleapis.com/youtube/v3/search?key=你的API密钥&part=snippet&publishedAfter=2007-04-01T00%3A00%3A00Z&publishedBefore=2009-05-01T00%3A00%3A00Z&type=video

参数说明:

  • part=snippet:必填参数,指定返回视频的基础信息片段
  • type=video:限定只搜索视频内容,排除频道、播放列表等结果
  • publishedAfter/publishedBefore:符合RFC 3339标准的时间戳,用于限定发布时间范围

如果你只是想验证某个特定视频(比如ID为7lCDEYXw3mM)是否在这个时间范围内,那应该先用videos.list获取它的发布时间,再自行判断:

GET https://www.googleapis.com/youtube/v3/videos?id=7lCDEYXw3mM&key=你的API密钥&part=snippet

从返回结果的snippet.publishedAt字段提取时间,再和你的时间范围对比即可。

内容的提问来源于stack exchange,提问作者linux-guy moen

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 08:13:56