Youtube API v3 Playlistitems返回的顺序与youtube.com不同

时间:2015-07-27 17:00:41

标签: api youtube youtube-api

我正在制作一个脚本,用于从频道中上传的视频中抓取最新视频。它会记住它最后处理的视频,如果遇到相同的视频,它会退出。这非常有效,直到我浏览了一个播放列表,该播放列表在其上传的播放列表中的位置1没有最新添加的视频。

然而,最奇怪的是,在youtube.com上,相同的播放列表确实具有正确的顺序: https://www.youtube.com/watch?v=x_HvPmd9L9o&list=UUpsSadsgX_Qk9i6i_bJoUwQ

但是在Youtube API响应中,顺序是不同的:

https://www.googleapis.com/youtube/v3/playlistItems?part=snippet%2C+contentDetails&maxResults=50&playlistId={YOUR API KEY}&key=AIzaSyBtO0Bl38DJKCuPh9e4mRW3-1UcGPPnQfs

我的API调用是否出错?或者这是youtube中的错误?我找不到按日期或任何方式对播放列表进行排序的选项。

让我想到的是,当用户创建播放列表时,他们通常会从最早添加的内容中订购 - >最新补充说。您是否必须调用所有页面才能获得最新添加的内容?这似乎很疯狂。

2 个答案:

答案 0 :(得分:0)

用于从频道检索播放列表的YouTube API不提供任何参数,我们可以设置我们想要检索播放列表的顺序。我们没有获取视频数据的内部算法如何工作。但是根据您的分析,现场网站上的UI API似乎与从API中检索到的数据不同。

虽然yt:position标记指定了视频在播放列表中的显示顺序。

实施例

<yt:position>4</yt:position>

答案 1 :(得分:0)

据我所见,它按上传顺序列出了它们。

我们假设您批量上传系列的第1-5集。 您选择五个视频并拖动到上传窗口。 YT将按照操作系统给出的顺序上传它们(通常是#1,#5,然后是#4,3和2)。

您可以将视频设置为连续几天发布:周一为#1,周二为#2等,这将在您的频道页面上以正确的顺序显示。

API调用只会带回已发布的视频,因此如果您在#3发布后在Weds上进行调用,您的回复中可能会收到3个视频[可能]已订购#1,#3&amp; #2。