2011-04-24 175 views
9

我正在编写一个使用YouTube Code API执行特定类型搜索的web应用程序。在这种情况下,我试图搜索所有匹配查询的视频,以及在两个日期之间上传的视频。 This document表示我可以使用published-min和published-max参数,而this one表示我可以使用updated-min和updated-max。YouTube API - 按发布日期查询

的这两个参数集导致YouTube将返回一个错误:

如何限制我的结果集在指定日期范围内命中?

+0

FWIW,该API似乎认识到在常规YouTube搜索采用了特殊的过滤器值:?'Q =测试%2C + today','Q =测试%2C +这+周','?q =测试%2C +这个+月' – 2011-05-05 20:27:57

回答

6

Reference Guide for YouTube's Data API没有列出任何可能会按时间间隔过滤的概率。

published-min参数只在"User activity feeds" section中公布,这是不同的东西,可能不是你想要的东西。或者是?

链接中的updated-min参数在通用gdata上下文中被引用。看起来他们打算描述所有专用API的共同点,但不知何故updated-min在任何地方都不可用。

当谈到你的问题。我会建议按时排序(orderby=published),并在客户端进行筛选。我知道这不是最佳的方式,但是我能看到Google给我们的唯一一个。

+6

尽管令人沮丧,但“解决方案”起作用。我特此谴责和烫伤YouTube这样一个可怕的实施。在哪个Universe中,数据库或API不会在入境日期被查询? :( – tsilb 2011-05-03 06:05:00

+0

YouTube API无法执行,起始索引为1000或更多。我用于定位搜索的示例数据有一个用户的结果集为3300+。任何想法如何解决这个小问题? – tsilb 2011-05-03 06:14:23

+0

我知道它更愚蠢,但也许有一些字段,像'category'这样的一组封闭值,您可以单独进行过滤并合并结果? – 2011-05-03 11:29:22

1

youtube api v3支持publishedAfterpublishedBefore带搜索结果的参数。例如:

https://www.googleapis.com/youtube/v3/search?key={{YOUKEY}}&channelId={{CHANNELID}}&part=snippet,id&order=date&maxResults=50&publishedAfter=2014-09-21T00:00:00Z&publishedBefore=2014-09-22T02:00:00Z