如何从youtube API获取频道上所有视频的当前观看次数?

时间:2016-09-24 16:03:45

标签: youtube youtube-api youtube-data-api

虽然订阅计入

www.googleapis.com/youtube/v3/channels?part=statistics

似乎立即更新,视图每天更新。

我找到的解决方法是使用

列出“已上传”播放列表中的所有视频
www.googleapis.com/youtube/v3/playlistItems?part=contentDetails

并遍历它们,调用

www.googleapis.com/youtube/v3/videos?part=statistics

每个。这似乎可以获得最准确的结果,但每上传的视频需要超过3个学分,因此相对较快地使用我的配额。

是否有更快的解决方法? 我想在ESP8266上实现它,因此最好不要求大量的存储或处理能力。

1 个答案:

答案 0 :(得分:5)

您可以通过获取liveStreamingDetails来获取查看次数,liveStreamingDetails对象包含有关直播视频广播的元数据。如果视频是即将播出的,直播的或完成的直播,则该对象将仅存在于视频资源中。然后,在此之下,您将获得concurrentViewers。它将显示当前正在观看广播的观众数量。如果广播具有当前观众并且广播所有者未隐藏视频的观看次数,则该属性及其值将存在

修改

根据您的使用情况,我相信两部分API可以帮助您进行查询。

我想你在调用search查询来检索频道的所有视频。 Search资源将id.videoId作为list调用的一部分与您进行连接。这会为您提供每个视频的statistics.viewCount,您需要将其加起来以获得总频道观看次数。

希望这有助于您的查询。

快乐的编码!