按作者搜索YouTube视频

时间:2013-02-07 20:35:14

标签: python youtube-api

我正在使用YouTube API 3.0,并希望按作者搜索视频。我该如何做到这一点?

我正在使用python客户端库。

1 个答案:

答案 0 :(得分:5)

在YouTube Data API v3中,您需要从用户的频道中找到UploadsPlaylist,然后他们会查找该频道的PlaylistItem。

例如,如果您想查找GoogleDevelopers上传内容,请先找到他们的channel_id。

如果您不知道用户的channel_id,则必须调用搜索资源(类型设置为“频道”)才能找到它:

  

https://www.googleapis.com/youtube/v3/search?part=id&maxResults=1&q=GoogleDevelopers&type=channel&key={YOUR_API_KEY}

返回:

{
 "kind": "youtube#searchListResponse",
 "etag": "\"Sja0zsjNVqBAv0D_Jpz6t1GyTzk/fm4P2RLxOAO0xdASI5BagD86H8A\"",
 "pageInfo": {
  "totalResults": 21,
  "resultsPerPage": 1
 },
 "nextPageToken": "CAEQAA",
 "items": [
  {
   "id": {
    "kind": "youtube#channel",
    "channelId": "UC_x5XG1OV2P6uZZ5FSM9Ttw"
   },
   "kind": "youtube#searchResult",
   "etag": "\"Sja0zsjNVqBAv0D_Jpz6t1GyTzk/q4hYefapiMoagc7b_3bYaVZvSJo\""
  }
 ]
}

如你所见,他们的channelId = UC_x5XG1OV2P6uZZ5FSM9Ttw

调用Channel资源的contentDetais部分,找到他们的上传播放列表:

  

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

将返回此内容:

{
 "kind": "youtube#channelListResponse",
 "etag": "\"Sja0zsjNVqBAv0D_Jpz6t1GyTzk/ZouMU1qBRkF6DgacOLHE88Xk144\"",
 "pageInfo": {
  "totalResults": 1,
  "resultsPerPage": 1
 },
 "items": [
  {
   "id": "UC_x5XG1OV2P6uZZ5FSM9Ttw",
   "kind": "youtube#channel",
   "etag": "\"Sja0zsjNVqBAv0D_Jpz6t1GyTzk/khrrkvk8Tl0XWRZoN66zqloSJM4\"",
   "contentDetails": {
    "relatedPlaylists": {
     "uploads": "UU_x5XG1OV2P6uZZ5FSM9Ttw"
    }
   }
  }
 ]
}

如您所见,他们上传的播放列表ID为UU_x5XG1OV2P6uZZ5FSM9Ttw

调用PlaylistItems资源以获取GoogleDevelopers上传的视频:

  

https://www.googleapis.com/youtube/v3/playlistItems?part=id%2Csnippet%2CcontentDetails&playlistId=UU_x5XG1OV2P6uZZ5FSM9Ttw&key={YOUR_API_KEY}