如何通过YouTube Data/Reporting API获取Shorts及公开视频播放量?
解决YouTube公开视频与Shorts播放量统计问题
一、筛选公开视频播放量
YouTube Data API和Analytics API都支持筛选公开视频数据:
- Data API:调用
videos.list接口时,指定part=statistics,status,同时添加筛选条件privacyStatus=public,返回结果仅包含公开视频的播放量等统计数据。 - Analytics API:请求聚合指标时,搭配
dimension=video和filter=videoStatus==public参数,直接获取所有公开视频的总播放量,自动排除未列出视频的数据。
二、区分Shorts与普通视频
目前API无直接的Shorts标识字段,但可通过两种可靠方式判断:
- 视频URL特征:Shorts视频的官方URL包含
/shorts/路径,调用videos.list接口获取snippet.url,若包含该路径则判定为Shorts。 - 视频属性结合:Shorts通常满足两个特征——时长≤60秒(通过
contentDetails.duration获取)、宽高比为9:16(通过snippet.thumbnails的分辨率判断,如1080x1920这类竖屏尺寸),可结合这两个条件辅助判定。
三、复刻YouTube Studio数据的实现步骤
- 通过
channels.list接口获取自身账号的upload播放列表ID。 - 用
playlistItems.list遍历该播放列表下的所有视频ID,同时获取每个视频的status.privacyStatus(筛选公开视频)和snippet.url/尺寸信息(区分Shorts)。 - 对筛选后的视频,调用
videos.list获取statistics.viewCount,分别聚合公开长视频和Shorts的播放量。 - 若使用Analytics API,可直接请求
metrics=views,搭配dimensions=videoType(部分地区支持该维度,直接区分Shorts与长视频)和filters=videoStatus==public,一步获取分类聚合后的播放量数据。
内容的提问来源于stack exchange,提问作者sreerag_ms
相关产品推荐
相关产品推荐

