我在检索用户最喜欢的播放列表时遇到问题。
场景:我直接在 youtube 上打开了一些用户的收藏夹(即 youtube.com/playlist?list=FL...)。现在,如果该列表已删除(或私人、排除)视频,它们也会定期显示在页面上。
但是,当我尝试通过 api(即 gdata.youtube.com/feeds/api/users/.../favorites?v=2&start-index=1&safeSearch=none&alt=json)接收列表时,这些视频不包含在响应(在我的情况下为 json)。我使用 safesearch=none 参数来“强制”包含按本地化排除的视频(因为这些也会导致问题)。也没有任何提示,根本没有视频。现在,当通过 start-index 加载下一部分时,这给我带来了问题。
当有不可用/已删除的视频时,结果只是一个上移可用视频的列表。现在,当我尝试加载下一部分(例如 start-index=26)时,我会从前一个(1-25)结果中获得重复视频的列表。列表开头的重复项与先前请求中删除的视频一样多。
我认为 api 在使用 start-index 时不会考虑已删除的视频。这是一个错误吗?结果中也没有新的“更正”索引,我可以用来加载下一部分。
到目前为止,我在我测试过的普通播放列表上没有遇到这个错误,所以这可能只对收藏夹有效。例如,您可以使用频道“HouseElectroBootleg”来重现此效果,只需查看原始收藏夹即可:
youtube.com/playlist?list=FLUb8dHB7cvFY-Ez8SmRYWgA
然后通过 api 1-25(缺少已删除的):
gdata.youtube.com/feeds/api/users/HouseElectroBootleg/favorites?start-index=1&safeSearch=none&alt=json&v=2
现在是错误的结果(从索引 26 开始):
gdata.youtube.com/feeds/api/users/HouseElectroBootleg/favorites?start-index=26&safeSearch=none&alt=json&v=2
我怎样才能获得正确的索引值或只是不工作视频的计数,所以我可以将数字添加到偏移量来纠正它?
谢谢你,对不起我的英语不好,我试图尽可能好地描述我的问题。