我正在制作一个脚本,用于从频道中上传的视频中抓取最新视频。它会记住它最后处理的视频,如果遇到相同的视频,它会退出。这非常有效,直到我浏览了一个播放列表,该播放列表在其上传的播放列表中的位置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中的错误?我找不到按日期或任何方式对播放列表进行排序的选项。
让我想到的是,当用户创建播放列表时,他们通常会从最早添加的内容中订购 - >最新补充说。您是否必须调用所有页面才能获得最新添加的内容?这似乎很疯狂。
答案 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。