从频道id获取所有播放列表id-youtube api v3

从频道id获取所有播放列表id-youtube api v3,youtube,youtube-api,Youtube,Youtube Api,我目前正在学习youtube api的使用。我想从频道id中检索所有播放列表id。我通读了文档,发现我可以使用youtube.channels.list来完成这样的任务。我在电脑上做了基本测试。但是,我仍然无法确定使用什么params来获取播放列表id。如何从给定的频道id检索所有播放列表id https://www.googleapis.com/youtube/v3/channels?part=id&id=UCF0pVplsI8R5kcAqgtoRqoA&key={YOUR_API_KEY}一

我目前正在学习youtube api的使用。我想从
频道id
中检索所有
播放列表id
。我通读了文档,发现我可以使用
youtube.channels.list
来完成这样的任务。我在电脑上做了基本测试。但是,我仍然无法确定使用什么
params
来获取
播放列表id
。如何从给定的
频道id
检索所有
播放列表id

https://www.googleapis.com/youtube/v3/channels?part=id&id=UCF0pVplsI8R5kcAqgtoRqoA&key={YOUR_API_KEY}

一个简单的方法:

使用ressource

使用此参数可获取频道的播放列表ID:

part: 'snippet'
channelId: 'UCBkNpeyvBO2TdPGVC_PsPUA'
{你的API密钥}

 "items": [
  {

   "kind": "youtube#channel",
   "etag": "\"PSjn-HSKiX6orvNhGZvglLI2lvk/vIwM6ev74Om0AOupX26jJoEDELU\"",
   "id": "UCBkNpeyvBO2TdPGVC_PsPUA"
  }
输出:

 "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,请使用ressource

使用此参数获取播放列表的视频ID:

part: 'id'
forUsername: 'channel_name'
{你的API密钥}

 "items": [
  {

   "kind": "youtube#channel",
   "etag": "\"PSjn-HSKiX6orvNhGZvglLI2lvk/vIwM6ev74Om0AOupX26jJoEDELU\"",
   "id": "UCBkNpeyvBO2TdPGVC_PsPUA"
  }

我不确定我是如何找到这个解决方案的,但我发现,如果您按照以下步骤操作,则可以检索要使用的playlaid:

  • 使用Google API控制台创建API密钥

  • 使用
    https://www.googleapis.com/youtube/v3/channels?part=contentDetails&key=[来自谷歌API控制台的密钥]&id=[频道id]

    在这里,你用相应的信息替换所有内容,包括括号(我发现频道ID很容易找到,因为它们通常在URL中。播放ID往往很难找到)

  • 步骤2中URL的结果提要应该包含一个
    uploads
    对象,该对象包含步骤4中URL中使用的播放ID

  • 使用
    https://www.googleapis.com/youtube/v3/playlistItems?part=snippet&playlistId=[在这里的第3步中检索到播放列表ID]&key=[来自GOOGLE API控制台的key]

  • 步骤4中的链接是应用程序中应该使用的内容


    这对我来说每次都很有效,我将YouTube v3 API集成到许多应用程序中。我完全同意@Utkanos的观点,虽然@mpgn有时可以工作,但它肯定不适用于所有频道。

    Youtube Api v3频道播放列表视频最大50

    此url格式有效


    这似乎不适用于php客户端。检查这个问题,当你想通过API获取他们的视频时,YT频道会很恼火。您的请求URL似乎适用于您给出的示例,但不适用于频道
    UCdKAVgh1r5u\u Vjw70PdrgjA
    。知道为什么吗?channelId和上传的ID相同吗?