我目前正在学习youtube api
的使用。我想从一个channel id
中检索所有的playlists id
。我仔细阅读了文档,发现我可以使用youtube.channels.list
来完成这样的任务。我在api_page上做了基本测试。尽管如此,我还是不知道用什么params
来获得playlist id
。如何从给定的channel id
中检索所有playlist ids
?
https://www.googleapis.com/youtube/v3/channels?part=id&id=UCF0pVplsI8R5kcAqgtoRqoA&key={YOUR_API_KEY}
一种简单的方法:
使用带有资源播放列表的YouTube API v3。list
使用此参数获取频道的播放列表ID:
part: 'snippet'
channelId: 'UCBkNpeyvBO2TdPGVC_PsPUA'
https://www.googleapis.com/youtube/v3/playlists?part=snippet&channelId=UCBkNpeyvBO2TdPGVC_PsPUA&密钥={YOUR_API_key}
输出:
"items": [
{
"kind": "youtube#playlist",
"etag": ""PSjn-HSKiX6orvNhGZvglLI2lvk/K21sgPQuMRCjhSMBjm3v3n5tl1o"",
"id": "PL2qcutlDmS0CnyV8Jcbl2d7yFxd2iGg67",
"snippet": {
"publishedAt": "2014-07-08T03:13:37.000Z",
"channelId": "UCBkNpeyvBO2TdPGVC_PsPUA",
"title": "These Things Happen Series",
"description": "",
"thumbnails": {
"default": {
"url": "https://i.ytimg.com/vi/93mgU_VXZrA/default.jpg",
"width": 120,
"height": 90
},
"medium": {
"url": "https://i.ytimg.com/vi/93mgU_VXZrA/mqdefault.jpg",
"width": 320,
"height": 180
},
"high": {
"url": "https://i.ytimg.com/vi/93mgU_VXZrA/hqdefault.jpg",
"width": 480,
"height": 360
},
"standard": {
"url": "https://i.ytimg.com/vi/93mgU_VXZrA/sddefault.jpg",
"width": 640,
"height": 480
},
"maxres": {
"url": "https://i.ytimg.com/vi/93mgU_VXZrA/maxresdefault.jpg",
"width": 1280,
"height": 720
}
},
"channelTitle": "GEazyTV"
}
},
{
"kind": "youtube#playlist",
"etag": ""PSjn-HSKiX6orvNhGZvglLI2lvk/5ifuvTYKbyV6DUPqbTa2bnO2jWY"",
"id": "PL2qcutlDmS0B0jwHOQYzgRhJpnxDwPBHc",
"snippet": {
"publishedAt": "2014-06-05T07:36:58.000Z",
"channelId": "UCBkNpeyvBO2TdPGVC_PsPUA",
"title": "B-Sides",
"description": "",
"thumbnails": {
"default": {
"url": "https://i.ytimg.com/vi/f7Ua9wKvVtI/default.jpg",
"width": 120,
"height": 90
},
"medium": {
"url": "https://i.ytimg.com/vi/f7Ua9wKvVtI/mqdefault.jpg",
"width": 320,
"height": 180
},
"high": {
"url": "https://i.ytimg.com/vi/f7Ua9wKvVtI/hqdefault.jpg",
"width": 480,
"height": 360
},
"standard": {
"url": "https://i.ytimg.com/vi/f7Ua9wKvVtI/sddefault.jpg",
"width": 640,
"height": 480
},
"maxres": {
"url": "https://i.ytimg.com/vi/f7Ua9wKvVtI/maxresdefault.jpg",
"width": 1280,
"height": 720
}
},
"channelTitle": "GEazyTV"
}
},
...
这是一个带有随机通道的示例。
如果您不知道如何获取频道的channelID,请使用资源频道列表:
使用此参数获取播放列表的视频ID:
part: 'id'
forUsername: 'channel_name'
https://www.googleapis.com/youtube/v3/channels?part=id&forUsername=GEazyTV&密钥={YOUR_API_key}
"items": [
{
"kind": "youtube#channel",
"etag": ""PSjn-HSKiX6orvNhGZvglLI2lvk/vIwM6ev74Om0AOupX26jJoEDELU"",
"id": "UCBkNpeyvBO2TdPGVC_PsPUA"
}
我不确定我是如何找到这个解决方案的,但我发现如果你按照这些步骤操作,那么你可以检索要使用的播放列表ID:
-
使用Google API控制台创建API密钥。
-
使用
https://www.googleapis.com/youtube/v3/channels?part=contentDetails&key=[KEY FROM GOOGLE API CONSOLE]&id=[CHANNEL ID]
在那里,你用相应的信息替换所有内容,包括括号(我发现频道ID很容易获得,因为它们通常在URL中。播放列表ID往往很难获得)。 -
来自步骤2中URL的结果提要应该包含
uploads
对象,该对象包含步骤4中URL中使用的播放列表ID。 -
使用
https://www.googleapis.com/youtube/v3/playlistItems?part=snippet&playlistId=[PLAYLIST ID RETRIEVED IN STEP 3 HERE]&key=[KEY FROM GOOGLE API CONSOLE]
步骤4中的链接是应用程序中最终应该使用的内容。
这对我每次都有效,我在许多应用程序中集成了YouTube v3 API。我完全同意@Utkanos的评论,即虽然@mpgn的回答有时有效,但肯定不适用于所有频道。
Youtube Api v3频道播放列表视频最大50
这个url格式的工作
https://www.googleapis.com/youtube/v3/playlistItems?part=snippet&playlistId=[]&key=[]&最大结果=50