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

如何获取同一Google账号关联的全部YouTube频道?API仅返回主频道

获取同一Google账号下所有YouTube频道的方法

你遇到的问题是因为mine: true仅返回当前授权用户的个人主频道,而账号下的其他频道通常属于品牌账号(Brand Accounts),需要额外的参数或接口调用才能获取。

步骤1:确认授权权限

首先确保OAuth2授权请求包含足够的权限,至少需要:

  • https://www.googleapis.com/auth/youtube.readonly(只读访问)
  • 或更高权限的https://www.googleapis.com/auth/youtube(完全控制)
    权限不足会导致API无法返回品牌账号关联的频道。

步骤2:两种获取全量频道的方案

方案一:分两次调用channels.list

由于API限制,mine和managedByMe参数不能同时使用,所以分两次请求:

  1. 获取主频道:
    gapi.client.youtube.channels.list({
      part: 'snippet,id,contentDetails',
      mine: true
    })
    
  2. 获取所有管理的品牌频道:
    gapi.client.youtube.channels.list({
      part: 'snippet,id,contentDetails',
      managedByMe: true
    })
    

把两次返回的结果合并,就是账号下的全部频道。

方案二:先拿账号列表再关联频道

  1. 获取所有关联账号(含品牌账号):
    调用accounts.list接口拿到当前账号关联的所有品牌账号和主账号:

    gapi.client.youtube.accounts.list({
      part: 'snippet,contentDetails',
      mine: true
    })
    

    每个返回的account对象里,contentDetails.channelId就是对应YouTube频道的ID。

  2. 批量查询频道详情:
    收集所有channelId,用批量查询获取频道信息:

    gapi.client.youtube.channels.list({
      part: 'snippet,id,contentDetails',
      id: ['频道ID1', '频道ID2', ...] // 替换为实际收集的ID
    })
    

额外注意点

  • 只有当前Google账号管理的品牌账号频道才能被获取,未关联或未授权的品牌频道无法返回。
  • 使用GAPI时,务必先加载YouTube v3 API客户端:gapi.client.load('youtube', 'v3')。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 18:37:15