Youtube playlistItems 不返回所有项目
Posted
技术标签:
【中文标题】Youtube playlistItems 不返回所有项目【英文标题】:Youtube playlistItems do not return all items 【发布时间】:2017-12-31 17:54:03 【问题描述】:我正在尝试获取整个 Youtube 播放列表,但肯定有问题。看起来 playlistItems 不会返回所有项目。更准确地说,对于较大的播放列表,它总是返回 26 个元素。
已编辑
此问题仅影响悬停“50 多个视频”的播放列表
有趣的事实是它也会影响 Youtube 网站
当您打开以下链接时,您会在右侧看到整个播放列表
https://www.youtube.com/watch?v=OBwl2glmqC0&list=PLhy8TB5U6n17R78U7usaLQfCC8nbnG8Nc
当您在“受影响”播放列表上执行相同操作时,它总是在第 26 个元素结束
https://www.youtube.com/watch?v=p7ZsBPK656s&list=RDQMxZTL9gI53Rg
(此外,“受影响”的播放列表总是有一个较短的 URL)
/已编辑
F.i.
https://www.googleapis.com/youtube/v3/playlistItems?part=snippet&maxResults=50&playlistId=RDZgEY-EkNGN8
返回
/**
* API response
*/
"kind": "youtube#playlistItemListResponse",
"etag": "\"m2yskBQFythfE4irbTIeOgYYfBU/Juh7DGrIhXG9sC1xb0BKgzZ5Mqo\"",
"pageInfo":
"totalResults": 26,
"resultsPerPage": 50
,
"items": [
....so on
总结果显示此播放列表包含 26 个元素,这是不正确的,因为它有超过 50 个元素
例如。第 51 个元素
https://www.youtube.com/watch?v=QptgChaqIQY&list=RDZgEY-EkNGN8&index=51
是否有人遇到过类似的问题,或者可能是某种限制,但我没有找到任何相关信息。
提前致谢。
【问题讨论】:
好像是因为播放列表是 YouTube 自动生成的,所以只有 26 个初始结果。 【参考方案1】:您可以参考此thread。它声明您需要为其他人获取下一页结果。要获得剩余的结果,请执行相同的调用,但将 pageToken
设置为您在响应中收到的 nextPageToken
。请注意,maxResults
只允许值 1 到 50。
您也可以关注此reported issue 以获取更新。
【讨论】:
感谢您的回复。请检查我的新编辑部分。该问题仅涉及某些类型的播放列表。 @Fr33c3l 你能分享一下你是如何得到这个结果的吗? https://i.stack.imgur.com/7flY6.png。我正在检查这个问题,我认为您可以使用Youtube Iframe API。以上是关于Youtube playlistItems 不返回所有项目的主要内容,如果未能解决你的问题,请参考以下文章
Youtube Data API v3 PlaylistItems 更新不适用于“稍后观看”播放列表
Youtube playlistItems 列表 API 有时有效,有时会抛出 404