0

我正在尝试使用 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') ]

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

4

1 回答 1

1

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

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

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

于 2013-04-01T20:26:03.443 回答