YouTube API - 按发布日期查询

13

我正在编写一个webapp,使用YouTube代码API进行特定类型的搜索。在这种情况下,我尝试搜索与查询匹配并且在两个日期之间上传的所有视频。

这个文档说我可以使用published-min和published-max参数,而这个文档说我可以使用updated-min和updated-max参数。

这两个参数集都会导致YouTube返回错误:

我该如何将结果集限制在指定日期范围内?


就此API而言,它似乎能够识别正常YouTube搜索中使用的特殊筛选器值: ?q=Test%2C+today, ?q=Test%2C+this+week, ?q=Test%2C+this+month - Joshua Carmody
2个回答

9
YouTube数据API参考指南中没有任何内容表明可以在一般情况下过滤时间间隔的可能性。 published-min参数仅在“用户活动订阅”部分中提到,这是不同的东西,可能不是你想要的。或者是吗?
你链接中的updated-min参数在通用gdata上下文中被引用。看起来他们打算描述所有专业API共同的事物,但某种程度上并非处处都可用updated-min
当涉及到你的问题时,我建议按时间排序(orderby=published)并在客户端进行过滤。我知道这不是最优的方法,但这是我能看到的Google所给出的唯一方法。

8
尽管很令人沮丧,但那个“解决方案”是有效的。我谴责并批评YouTube实施得如此糟糕。在哪个宇宙中不能按输入日期查询数据库或API呢?:((注:原文中的“reprimand and scald”应为“reprimand”或“criticize”,“entry date”可理解为“输入日期”或“记录日期”。) - tsilb
YouTube API在使用1000或更高的start-index时无法执行。我使用的样本数据针对我的搜索具有一个用户的3300多个结果集。有什么办法可以解决这个小问题吗? - tsilb
我知道这可能更愚蠢,但也许有一些像category这样的封闭值集合的字段,你可以分开进行过滤,然后自己合并结果? - Grzegorz Oledzki
2
无论如何,我建议向他们提交一些请求/投诉。也许有一天会有人解决这个问题。我相信http://code.google.com/p/gdata-issues/是正确的地方。 - Grzegorz Oledzki

7

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

1
请注意,无论谁来到这里,这并不是真正的发布日期。对于某些视频而言,内容创建日期才是真正令人困扰的。 - NONONONONO

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接