按作者搜索YouTube视频

3 投票
1 回答
2124 浏览
提问于 2025-04-17 15:09

我正在使用YouTube的API 3.0,想要通过作者来搜索视频。我该怎么做呢?

我正在使用Python的客户端库。

1 个回答

5

在YouTube数据API v3中,你需要找到用户频道的上传播放列表,然后查看该频道的播放列表项。

举个例子,如果你想找到GoogleDevelopers的上传视频,首先要找到他们的频道ID。

如果你不知道某个用户的频道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\""
  }
 ]
}

从中你可以看到,他们的频道ID是UC_x5XG1OV2P6uZZ5FSM9Ttw。

接下来,调用频道资源的内容详情部分,找到他们的上传播放列表:

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。

最后,调用播放列表项资源,获取GoogleDevelopers上传的视频:

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

撰写回答