You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过YouTube API获取频道Shorts数量?相关技术咨询

YouTube API 获取频道Shorts数量相关问题解答

1. Shorts的官方定义

Shorts并非仅以时长≤60秒判定,官方标准是时长≤60秒的竖屏(宽高比9:16)视频,且通常由创作者标记为Shorts发布。但YouTube Data API中没有直接标记视频是否为Shorts的字段,实际统计时一般以「时长≤60秒」为核心筛选条件,再结合宽高比进一步精准过滤。

2. API能否直接获取Shorts数量?

目前YouTube Data API没有提供直接返回频道Shorts总数的接口,必须通过间接方式统计:

可行的统计方法

  • 方法一:用Search.list接口筛选短时长视频
    调用Search.list接口,指定目标频道ID,设置关键参数后分页遍历结果统计总数:

    • channelId:目标频道ID
    • type=video:仅返回视频结果
    • videoDuration=short:筛选时长≤60秒的视频(API官方定义该参数对应0-60秒的视频)
    • maxResults=50:单次请求返回最大数量(上限50)

    示例PHP代码(基于官方库):

    $client = new Google\Client();
    // 完成客户端授权、API密钥配置(此处省略)
    $youtube = new Google\Service\YouTube($client);
    
    $channelId = "目标频道ID";
    $totalShorts = 0;
    $pageToken = "";
    
    do {
        $searchResponse = $youtube->search->listSearch("id", [
            'channelId' => $channelId,
            'type' => 'video',
            'videoDuration' => 'short',
            'maxResults' => 50,
            'pageToken' => $pageToken
        ]);
    
        $totalShorts += count($searchResponse['items']);
        $pageToken = $searchResponse->getNextPageToken();
    } while ($pageToken);
    
    echo "Shorts数量:" . $totalShorts;
    
  • 方法二:先获取全量视频再过滤短时长
    先通过PlaylistItems.list接口获取频道「上传」列表的所有视频ID,再调用Videos.list接口批量获取视频的contentDetails.duration字段,解析时长后统计≤60秒的数量。这种方式配额消耗更低,但适合视频数量较少的频道。

3. 注意事项

  • API配额限制:Search.list单次调用消耗100单位配额,视频量大的频道容易耗尽配额,需合理规划调用频次。
  • 精准度优化:videoDuration=short会包含部分非Shorts的短时长横屏视频,若要更精准,可在获取视频ID后调用Videos.list获取contentDetails.dimension字段,筛选宽高比为9:16的视频(如维度值为"1080x1920")。

内容的提问来源于stack exchange,提问作者Oksana Gritsjuk

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 11:49:58