【问题标题】:YouTube API - Querying by publish dateYouTube API - 按发布日期查询
【发布时间】:2011-08-11 17:47:14
【问题描述】:

我正在编写一个使用 YouTube 代码 API 执行特定类型搜索的网络应用。在这种情况下,我正在尝试搜索与查询匹配并且在两个日期之间上传的所有视频。 This document 说我可以使用 published-min 和 published-max 参数,而 this one 说我可以使用 updated-min 和 updated-max。

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

如何将我的结果集限制为指定日期范围内的匹配?

【问题讨论】:

  • FWIW,API 似乎可以识别常规 YouTube 搜索中使用的特殊过滤器值:?q=Test%2C+today?q=Test%2C+this+week?q=Test%2C+this+month

标签: api youtube gdata-api gdata


【解决方案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 支持带有搜索结果的 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

【讨论】:

  • 您应该注意,无论谁来到这里,都不是真正的发布日期。对于某些视频来说,这是内容创建日期。
猜你喜欢
  • 2011-10-20
  • 2017-06-15
  • 1970-01-01
  • 2019-08-08
  • 2012-09-26
  • 2019-02-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多