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

无法检测YouTube频道新视频上传,调用API遇400错误求助

YouTube API 400错误:无效参数问题解决

错误原因

你触发的HttpError 400是因为传入的channelId参数格式错误——你用的@some-name-xyz是频道的自定义用户名(Handle),但YouTube Data API要求channelId必须传入官方的频道ID(格式为UC开头的字符串,比如UC1234567890abcdefghijkl)。

修复方案

1. 获取官方频道ID

有两种方式获取:

  • 手动获取:打开频道主页,查看页面源代码,搜索channelId即可找到对应的ID字符串;
  • 用API自动获取:通过channels.list接口根据用户名查询,代码如下:
from googleapiclient.discovery import build

api_key = "your-api-key"
youtube = build('youtube', 'v3', developerKey=api_key)

# 通过频道用户名(带@)查询ID
resp = youtube.channels().list(
    part="id",
    forHandle="@some-name-xyz"
).execute()

channel_id = resp['items'][0]['id']
print(f"频道ID:{channel_id}")

2. 更新原代码

将原代码中的channel_id替换为获取到的官方ID,修改后的核心代码:

# 替换为正确的频道ID
channel_id = "UCxxxxxxxxx"

search_response = youtube.search().list(
    part="snippet",
    channelId=channel_id,
    maxResults=1,
    order="date",
    type="video"
).execute()

优化建议

如果要长期监测新视频,推荐使用activities.list接口(指定channelId和part="snippet,contentDetails"),或者添加publishedAfter参数(传入最近的时间戳),过滤出指定时间后上传的视频,减少API请求开销。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 18:17:40