YouTube API - 按发布日期查询
Posted
技术标签:
【中文标题】YouTube API - 按发布日期查询【英文标题】:YouTube API - Querying by publish date 【发布时间】:2011-08-11 17:47:14 【问题描述】:我正在编写一个使用 YouTube 代码 API 执行特定类型搜索的网络应用。在这种情况下,我正在尝试搜索与查询匹配并且在两个日期之间上传的所有视频。 This document 说我可以使用 published-min 和 published-max 参数,而 this one 说我可以使用 updated-min 和 updated-max。
这两个参数集都会导致 YouTube 返回错误:
published-min 返回“此服务不支持 'published-min 参数” updated-min 返回“此服务不支持 'updated-max' 参数” With neither 返回正确的结果集。如何将我的结果集限制为指定日期范围内的匹配?
【问题讨论】:
FWIW,API 似乎可以识别常规 YouTube 搜索中使用的特殊过滤器值:?q=Test%2C+today
、?q=Test%2C+this+week
、?q=Test%2C+this+month
【参考方案1】:
Reference Guide for YouTube's Data API 没有列出任何建议一般按时间间隔进行过滤的内容。
published-min
参数仅在 "User activity feeds" section 中宣传,这是不同的,可能不是您想要的。还是这样?
链接中的 updated-min
参数在通用 gdata 上下文中被引用。看起来他们打算描述所有专用 API 共有的所有东西,但不知何故,updated-min
并非无处不在。
当涉及到您的问题时。我建议按时排序(orderby=published
)并在客户端进行过滤。我知道这不是最佳方式,但我能看到的唯一方式是 Google 提供给我们的。
【讨论】:
虽然令人沮丧,但“解决方案”确实有效。我在此对 YouTube 进行如此可怕的实施进行谴责和责骂。在哪个领域可以不按进入日期查询数据库或 API? :( YouTube API 无法执行,起始索引为 1000 或更多。我用来定位我的搜索的样本数据有一个用户的 3300 多个结果集。知道如何解决这个小问题吗? 我知道这更愚蠢,但也许有一些字段包含一组封闭的值,例如category
,您可以在其中单独进行过滤并自己合并结果?
无论如何,我建议向他们提出一些请求/投诉。也许有一天有人会为此做点什么。我相信code.google.com/p/gdata-issues 是合适的地方。【参考方案2】:
youtube api v3 支持带有搜索结果的 publishedAfter
和 publishedBefore
参数。例如:
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
【讨论】:
您应该注意,无论谁来到这里,都不是真正的发布日期。对于某些视频来说,这是内容创建日期。以上是关于YouTube API - 按发布日期查询的主要内容,如果未能解决你的问题,请参考以下文章
每天查询的 YouTube 数据 API v3 配额设置为 0
Youtube API CommentThreads 的范围无效 - java
单击列表视图项目时,Android youtube api可全屏加载视频