如何使用 YouTube V3 API 获取所有电影(非视频)

Phi*_*arl 3 youtube-api

我想列出 YouTube 上所有可用的电影(即通过 //youtube.com/movies 提供的电影)。我可以了解如何使用 API V2 查询这些内容,但这有 1000 个响应的限制。

使用 V3 api,我可以看到电影类别的 id 为 30,但我不知道如何获取该类别的所有电影。唯一的类别查询似乎是在不同的指南类别上进行搜索。

关于如何获得此列表的任何线索?如果可以的话请帮忙!

小智 5

我相信您可以获取与电影相关的自动生成的频道,并使用它们的 id 获取与该频道相关的播放列表,最后从该播放列表中获取项目(视频..),那一定是与该电影的电影相关的视频选定频道:

检索电影频道:

要求

https://www.googleapis.com/youtube/v3/search?part=snippet&q=movies&type=channel&key={YOUR_API_KEY}
Run Code Online (Sandbox Code Playgroud)

部分回应

"items": [
  {
   "id": {
    "kind": "youtube#channel",
    "channelId": "UCczhp4wznQWonO7Pb8HQ2MQ"
   },
   "kind": "youtube#searchResult",
   "etag": "\"eTr3dHIt5_K9qdGtRKL-5XdpiQI/sQpwXP-0MUEZzOQx4F0yKj0eUR4\"",
   "snippet": {
    "publishedAt": "2005-12-15T03:07:36.000Z",
    "channelId": "UCczhp4wznQWonO7Pb8HQ2MQ",
    "title": "movies",
    "description": "YouTube Movies (United States).",
    "thumbnails": {
     "default": {
      "url": "http://i.ytimg.com/i/czhp4wznQWonO7Pb8HQ2MQ/1.jpg"
     },
     "medium": {
      "url": "http://i.ytimg.com/i/czhp4wznQWonO7Pb8HQ2MQ/mq1.jpg"
     },
     "high": {
      "url": "http://i.ytimg.com/i/czhp4wznQWonO7Pb8HQ2MQ/hq1.jpg"
     }
    }
   }
  },
Run Code Online (Sandbox Code Playgroud)

例如获取“YouTube 电影(美国)”频道中的电影列表

要求

https://www.googleapis.com/youtube/v3/playlists?part=snippet&channelId=UCczhp4wznQWonO7Pb8HQ2MQ&key={YOUR_API_KEY}
Run Code Online (Sandbox Code Playgroud)

部分回应:

{

   "id": "PLjygWhZE6KY0Uhw12FsAc8raAClz0l71C",
   "kind": "youtube#playlist",
   "etag": "\"eTr3dHIt5_K9qdGtRKL-5XdpiQI/TWrkoCkmJvq14neCcutnApHMMgU\"",
   "snippet": {
    "publishedAt": "2012-12-06T20:11:40.000Z",
    "channelId": "UCczhp4wznQWonO7Pb8HQ2MQ",
    "title": "The Nicolas Cage Collection",
    "description": "From panicked fathers to spirits of vengeance, Nicolas Cage has done it all.",
    "thumbnails": {
     "default": {
      "url": "https://i.ytimg.com/vi/nHiy8SVZdpU/default.jpg"
     },
     "medium": {
      "url": "https://i.ytimg.com/vi/nHiy8SVZdpU/mqdefault.jpg"
     },
     "high": {
      "url": "https://i.ytimg.com/vi/nHiy8SVZdpU/hqdefault.jpg"
     }
    }
   }
  },
Run Code Online (Sandbox Code Playgroud)

从此播放列表获取项目:

要求:

https://www.googleapis.com/youtube/v3/playlistItems?part=snippet&playlistId=PLjygWhZE6KY0Uhw12FsAc8raAClz0l71C&key={YOUR_API_KEY}
Run Code Online (Sandbox Code Playgroud)

部分回应:

{
 "kind": "youtube#playlistItemListResponse",
 "etag": "\"eTr3dHIt5_K9qdGtRKL-5XdpiQI/KSlqEnNGq36l47_k9W3fd79KfYQ\"",
 "pageInfo": {
  "totalResults": 15,
  "resultsPerPage": 5
 },
 "nextPageToken": "CAUQAA",
 "items": [
  {

   "id": "PLcBtbpFAOApiV34TU797yEFAUZuwhFrvJya3MqlZWkGM",
   "kind": "youtube#playlistItem",
   "etag": "\"eTr3dHIt5_K9qdGtRKL-5XdpiQI/C_xTa48Xof7giXobSula2vWX43A\"",
   "snippet": {
    "publishedAt": "2012-12-06T20:12:49.000Z",
    "channelId": "UCczhp4wznQWonO7Pb8HQ2MQ",
    "title": "Stolen",
    "thumbnails": {
     "default": {
      "url": "https://i.ytimg.com/vi/nHiy8SVZdpU/default.jpg"
     },
     "medium": {
      "url": "https://i.ytimg.com/vi/nHiy8SVZdpU/mqdefault.jpg"
     },
     "high": {
      "url": "https://i.ytimg.com/vi/nHiy8SVZdpU/hqdefault.jpg"
     }
    },
    "playlistId": "PLjygWhZE6KY0Uhw12FsAc8raAClz0l71C",
    "position": 0,
    "resourceId": {
     "kind": "youtube#video",
     "videoId": "nHiy8SVZdpU"
    }
   }
  },
  {

   "id": "PLcBtbpFAOApiV34TU797yED-1zeMCoMGVxtVgtX9ZdsQ",
   "kind": "youtube#playlistItem",
   "etag": "\"eTr3dHIt5_K9qdGtRKL-5XdpiQI/LgSyqtZkwJXv6-2ajW0g-FsgddQ\"",
   "snippet": {
    "publishedAt": "2012-12-06T20:19:26.000Z",
    "channelId": "UCczhp4wznQWonO7Pb8HQ2MQ",
    "title": "Trespass",
    "thumbnails": {
     "default": {
      "url": "https://i.ytimg.com/vi/J_7Zug6ouy4/default.jpg"
     },
     "medium": {
      "url": "https://i.ytimg.com/vi/J_7Zug6ouy4/mqdefault.jpg"
     },
     "high": {
      "url": "https://i.ytimg.com/vi/J_7Zug6ouy4/hqdefault.jpg"
     }
    },
    "playlistId": "PLjygWhZE6KY0Uhw12FsAc8raAClz0l71C",
    "position": 1,
    "resourceId": {
     "kind": "youtube#video",
     "videoId": "J_7Zug6ouy4"
    }
   }
  },
Run Code Online (Sandbox Code Playgroud)

这样您就可以根据需要创建视频列表