使用 YouTube API 从查询中获取有关所有视频的观看次数的信息

Getting info about number of views about all videos from query using YouTube API

我必须获取指定 search_text 的视频信息,尤其是每个视频的观看次数。我已经设法得到 JSON 包含 video_idtitlethumbnailschannel_name 使用此查询 'https://www.googleapis.com/youtube/v3/search?part=snippet&q=' + query + '&key={My_key}'。 显然,我可以查询每个 video_id 以获得它的观看次数,但这不是我要找的。 是否可以仅使用 1 个查询来获取查看次数以及所有数据?

API v3 不提供这种可能性。在以前的 API 版本中是可能的,但在 v3.

中是不可能的

这个功能已经被问过很多次了,youtube 真的应该实现它。 解决方法需要 2 个查询。您不必为每个 video_id 创建请求。

首先,您需要使用 post

中提供的搜索查询
https://www.googleapis.com/youtube/v3/search?part=snippet&q=' + query + '&key={My_key}

之后,您可以获取所有 videoId 值并同时从中请求统计信息。用逗号分隔 ID,您将获得所有视频的统计信息。

https://www.googleapis.com/youtube/v3/videos?part=statistics&id=vnuTOBQ1Nyo,2a4Uxdy9TQY&key={YOUR_API_KEY}

响应将是

{
 "kind": "youtube#videoListResponse",
 "etag": "\"kuL0kDMAqRo3pU7O0pwlO-Lfzp4/cxUC3oHfAMGCbF9gjuO11C2VsEA\"",
 "pageInfo": {
  "totalResults": 2,
  "resultsPerPage": 2
 },
 "items": [
  {
   "kind": "youtube#video",
   "etag": "\"kuL0kDMAqRo3pU7O0pwlO-Lfzp4/C37CAxmH_BPj81a6LHiDRO7Ruqc\"",
   "id": "vnuTOBQ1Nyo",
   "statistics": {
    "viewCount": "13117",
    "likeCount": "1251",
    "dislikeCount": "26",
    "favoriteCount": "0",
    "commentCount": "102"
   }
  },
  {
   "kind": "youtube#video",
   "etag": "\"kuL0kDMAqRo3pU7O0pwlO-Lfzp4/EWOT7bD_VfD0Wu52Tk_rInSgoE0\"",
   "id": "2a4Uxdy9TQY",
   "statistics": {
    "viewCount": "5576961",
    "likeCount": "77132",
    "dislikeCount": "8652",
    "favoriteCount": "0",
    "commentCount": "22797"
   }
  }
 ]
}