【问题标题】:YouTube API "published" filter doesn't seem to workYouTube API“已发布”过滤器似乎不起作用
【发布时间】:2013-04-01 17:47:08
【问题描述】:

我正在尝试使用 YouTube API 返回最近发布的视频,但我使用的过滤器似乎没有按预期工作。

此 API 调用仅返回两个视频,而 3 月 1 日之后发布的视频应该还有很多:

https://gdata.youtube.com/feeds/api/videos?q=&fields=entry[xs:dateTime(published)%20%3E%20xs:dateTime('2013-03-01T12:00:00.000Z')]

但是,如果我添加查询字符串,则会返回更多结果。例如:

https://gdata.youtube.com/feeds/api/videos?q=surfing&fields=entry[xs:dateTime(published)%20%3E%20xs:dateTime('2013-03-01T12:00:00.000Z')]

有人知道为什么吗?无论查询字符串如何,我都应该使用另一种方法来获取最新发布的视频吗?

【问题讨论】:

    标签: youtube-api


    【解决方案1】:

    我理解您的困惑,但这不是 fields= 参数的用途。 documentation 应该希望能把事情弄清楚,但总而言之,以这种方式使用 fields= 等同于在没有 fields= 参数的情况下发出请求,然后过滤该请求的结果,以便它只包含匹配的条目你的过滤器。

    因此,如果您的请求在没有 fields= 的情况下通常会返回 25 个特定视频,那么在其中添加 fields= 会给您一个包含 0 到 25 个视频的响应——所有不匹配的视频都会被过滤掉。

    您可以使用 http://gdata.youtube.com/feeds/api/videos?v=2&orderby=published 请求最近发布的视频的提要,无需任何其他过滤器

    【讨论】:

    • 啊,这就解释了。谢谢杰夫!
    猜你喜欢
    • 1970-01-01
    • 2012-06-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多