是否可以通过 YouTube API 获取多少人正在观看 YouTube 直播视频?

Is it possible to get How many people is watching YouTube live video via YouTube API?

我打算用 YouTube API 构建一个应用程序。我从 API 获取视频事件并在网站上直播时播放视频的位置。

我正在获取我需要的所有数据,除了观看视频的人数。

有什么办法可以得到吗?

是的,您可以通过liveStreamingDetails.concurrentViewers

请求视频对象并获取并发观看者数量

这是 API 文档参考:https://developers.google.com/youtube/v3/docs/videos#liveStreamingDetails.concurrentViewers

例如这样的请求:

GET https://www.googleapis.com/youtube/v3/videos?part=liveStreamingDetails&id={YT ID}&fields=items%2FliveStreamingDetails%2FconcurrentViewers&key={YOUR_API_KEY}

您可以在请求视频详细信息时请求 liveStreamingDetails 部分来获取这些统计信息。这是一个示例 HTTPS 请求 (ref):

GET https://www.googleapis.com/youtube/v3/videos?part=snippet%2Cstatistics%2CliveStreamingDetails&id=21X5lGlDOfg&key=[YOUR_API_KEY] HTTP/1.1

Authorization: Bearer [YOUR_ACCESS_TOKEN]
Accept: application/json

结果:

{
 "kind": "youtube#videoListResponse",
 "etag": "\"Bdx4f4ps3xCOOo1WZ91nTLkRZ_c/ARYNDpdj0hFzJ8zKV9SLVLV4PWE\"",
 "pageInfo": {
  "totalResults": 1,
  "resultsPerPage": 1
 },
 "items": [
  {
   "kind": "youtube#video",
   "etag": "\"Bdx4f4ps3xCOOo1WZ91nTLkRZ_c/_SdqmAfikf6n_Jny6hfytlYz1wY\"",
   "id": "21X5lGlDOfg",
   "snippet": {
    "publishedAt": "2018-12-28T18:40:15.000Z",
    "channelId": "UCLA_DiR1FfKNvjuUpBHmylQ",
    "title": "NASA Live: Official Stream of NASA TV",
    "description": "Direct from America's space program to YouTube, watch NASA TV live streaming here to get the latest from our..."
   },
   "statistics": {
    "viewCount": "8512883",
    "likeCount": "130811",
    "dislikeCount": "6836",
    "favoriteCount": "0",
    "commentCount": "0"
   },
   "liveStreamingDetails": {
    "actualStartTime": "2018-12-28T18:41:30.221Z",
    "scheduledStartTime": "2018-12-28T19:00:00.000Z",
    "concurrentViewers": "108"
   }
  }
 ]
}

查看 concurrentViewers 元素。