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

Cod*_*ent 13 youtube youtube-api

我目前正在学习使用youtube api.我想要从中检索所有playlists id内容channel id.我阅读了文档并看到我可以youtube.channels.list用于此类任务.我在api_page上做了基本的测试.尽管如此,我还是无法确定params要使用什么来获得playlist id.如何playlist ids从给定中检索所有内容channel id?

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

mpg*_*pgn 20

一个简单的方法:

使用带有ressource playlists.list的YouTube API v3

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

part: 'snippet'
channelId: 'UCBkNpeyvBO2TdPGVC_PsPUA'
Run Code Online (Sandbox Code Playgroud)

https://www.googleapis.com/youtube/v3/playlists?part=snippet&channelId=UCBkNpeyvBO2TdPGVC_PsPUA&key= {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"
   }
  },
...
Run Code Online (Sandbox Code Playgroud)

这是一个带随机通道的示例.

如果您不知道如何获取频道的channelID,请使用ressource channels.list:

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

part: 'id'
forUsername: 'channel_name'
Run Code Online (Sandbox Code Playgroud)

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

 "items": [
  {

   "kind": "youtube#channel",
   "etag": "\"PSjn-HSKiX6orvNhGZvglLI2lvk/vIwM6ev74Om0AOupX26jJoEDELU\"",
   "id": "UCBkNpeyvBO2TdPGVC_PsPUA"
  }
Run Code Online (Sandbox Code Playgroud)


小智 5

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

  1. 使用 Google API 控制台创建 API 密钥。

  2. 使用
    https://www.googleapis.com/youtube/v3/channels?part=contentDetails&key=[KEY FROM GOOGLE API CONSOLE]&id=[CHANNEL ID]
    将所有内容(包括括号)替换为相应信息的位置(我发现频道 ID 很容易获得,因为它们通常位于 URL 中。PlaylistID 往往比较困难)。

  3. 步骤 2 中的 URL 生成的提要应包含一个uploads对象,其中包含步骤 4 中的 URL 中使用的 playlistID。

  4. 使用
    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 的答案有时有效,但它肯定不适用于所有频道。