问题:为什么我从YouTube Data V3 API采取的以下操作中只收到1个视频?我尝试从(https://www.youtube.com/user/JayLenosGarage/videos)中提取视频的示例 Channels 有多个视频 .
我正在尝试从Youtube数据api v3中获取特定 Channels 的所有视频及其相关ID . 让我们使用示例 Channels JayLenosGarage .
所以在YouTube(https://www.youtube.com/watch?v=jdqsiFw74Jk&t=757s)上播放该视频后,首先通过查询 Channels #list api获取"uploads" id,然后使用uploads id通过播放列表运行查询#list api,我通过API资源管理器运行查询(I还在Youtube上为JayLenosGarage Channels 尝试使用API_KEY卷曲,如下所示,并收到以下输出:
Channels #list api查询:
GET https://www.googleapis.com/youtube/v3/channels?part=contentDetails&id=UCQMELFlXQL38KPm8kM-4Adg&key=<API_KEY>
# returns:
{
"kind": "youtube#channelListResponse",
"etag": "\"sZ5p5Mo8dPpfIzLYQBF8QIQJym0/z48ndyqvca6Iiuq8GhSM74uM6Ho\"",
"pageInfo": {
"totalResults": 1,
"resultsPerPage": 1
},
"items": [
{
"kind": "youtube#channel",
"etag": "\"sZ5p5Mo8dPpfIzLYQBF8QIQJym0/ZrtYB2hQFGE9E0BKmRhauZQb1kI\"",
"id": "UCQMELFlXQL38KPm8kM-4Adg",
"contentDetails": {
"relatedPlaylists": {
"likes": "LLQMELFlXQL38KPm8kM-4Adg",
"uploads": "UUQMELFlXQL38KPm8kM-4Adg",
"watchHistory": "HL",
"watchLater": "WL"
}
}
}
]
}
播放列表#list api查询:
GET https://www.googleapis.com/youtube/v3/playlists?part=snippet&id=UUQMELFlXQL38KPm8kM-4Adg&key=<API_KEY>
# returns:
{
"kind": "youtube#playlistListResponse",
"etag": "\"sZ5p5Mo8dPpfIzLYQBF8QIQJym0/DWOe-LD4_fSk0yC55HX_ZOrkuy4\"",
"pageInfo": {
"totalResults": 1,
"resultsPerPage": 20
},
"items": [
{
"kind": "youtube#playlist",
"etag": "\"sZ5p5Mo8dPpfIzLYQBF8QIQJym0/3CSCtGQNcyDVWQJAktkawoG7h7k\"",
"id": "UUQMELFlXQL38KPm8kM-4Adg",
"snippet": {
"publishedAt": "1970-01-01T00:00:00.000Z",
"channelId": "UCQMELFlXQL38KPm8kM-4Adg",
"title": "Uploads from Jay Leno's Garage",
"description": "",
"thumbnails": {
"default": {
"url": "https://i.ytimg.com/vi/hnjbaBzq7II/default.jpg",
"width": 120,
"height": 90
},
"medium": {
"url": "https://i.ytimg.com/vi/hnjbaBzq7II/mqdefault.jpg",
"width": 320,
"height": 180
},
"high": {
"url": "https://i.ytimg.com/vi/hnjbaBzq7II/hqdefault.jpg",
"width": 480,
"height": 360
},
"standard": {
"url": "https://i.ytimg.com/vi/hnjbaBzq7II/sddefault.jpg",
"width": 640,
"height": 480
},
"maxres": {
"url": "https://i.ytimg.com/vi/hnjbaBzq7II/maxresdefault.jpg",
"width": 1280,
"height": 720
}
},
"channelTitle": "Jay Leno's Garage",
"localized": {
"title": "Uploads from Jay Leno's Garage",
"description": ""
}
}
}
]
}
2 回答
要获取 Channels 内所有视频的列表,请使用Search: list方法 . 它将返回与API请求中指定的查询参数匹配的搜索结果集合 . 默认情况下,搜索结果集标识匹配的视频, Channels 和播放列表资源,但您也可以将查询配置为仅检索特定类型的资源 .
以下是您需要执行的示例请求:
希望它能帮到你:)
你必须调用
PlaylistItems
而不是Playlist
. 我将结果限制为1个结果,但您可以将maxResults设置为50 .PlaylistItems #list api query:
当然你也可以使用
Search
,但你必须记住,调用Search
需要100个配额,而PlaylistItems#list
只需要1个配额 .