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

如何通过用户名/ID获取YouTube频道信息?Python代码问题求助

解决YouTube频道信息获取的自定义用户名匹配问题

问题背景

需要编写Python脚本,支持通过@username或UC开头的频道ID两种方式,获取对应YouTube频道的ID、标题和主页链接。现有代码仅能正确处理UC开头的频道ID,但无法匹配当前主流的自定义频道别名(如@xxx或URL中的自定义名称),原因是原代码使用的channels端点forUsername参数仅支持旧版传统用户名,不兼容当前的自定义别名。

问题分析

YouTube的自定义频道别名(即用户在URL中使用的@xxx或c/xxx)不属于forUsername参数对应的传统用户名范畴,必须通过**search端点**进行搜索,指定搜索类型为channel才能匹配到对应结果。

修正后的代码

async def get_channel_id(self, channel_input):
    # 先处理输入中的@前缀(如果有)
    cleaned_input = channel_input.lstrip('@')
    
    # 优先处理UC开头的频道ID
    if cleaned_input.startswith('UC'):
        api_url = "https://www.googleapis.com/youtube/v3/channels"
        params = {
            'part': 'snippet',
            'key': DEVELOPER_KEY,
            'id': cleaned_input,
            'maxResults': 1
        }
        response = await self.make_api_request(api_url, params)
        if response and response.get('items'):
            channel_info = response['items'][0]
            return (
                channel_info['id'],
                channel_info['snippet']['title'],
                f"https://www.youtube.com/channel/{channel_info['id']}"
            )
    
    # 处理自定义频道别名,使用search端点搜索
    api_url = "https://www.googleapis.com/youtube/v3/search"
    params = {
        'part': 'snippet',
        'key': DEVELOPER_KEY,
        'q': cleaned_input,
        'type': 'channel',
        'maxResults': 1
    }
    response = await self.make_api_request(api_url, params)
    if response and response.get('items'):
        channel_info = response['items'][0]
        channel_id = channel_info['id']['channelId']
        return (
            channel_id,
            channel_info['snippet']['title'],
            f"https://www.youtube.com/channel/{channel_id}"
        )
    
    # 无匹配结果时返回空值
    return None, None, None

关键改进点

  • 兼容@前缀输入:自动去除输入中的@符号,支持直接输入@username格式
  • 切换搜索端点:针对自定义别名使用search端点,指定type='channel'确保只返回频道结果
  • 结果提取调整:搜索结果中的频道ID嵌套在id.channelId字段中,需注意提取路径

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 09:00:22