调用YouTube API通过categoryId筛选频道报400错误咨询
核心原因
这是YouTube Data API v3非常容易踩的参数设计误区:
- 你从
videoCategories接口获取到的categoryId是视频分类ID,仅适用于视频资源的筛选,完全不能用在channels频道列表接口做筛选参数。 channels接口要求传入的categoryId是频道分类(guideCategories)ID,和视频分类ID是两套完全独立的枚举值,不互通。你传入视频分类ID时,接口识别不到合法的筛选参数,就会抛出ERROR_FILTER_NONE_SELECTED错误。
正确调用步骤
- 先请求频道分类列表接口,获取对应地区合法的频道分类ID:
GET https://www.googleapis.com/youtube/v3/guideCategories?part=snippet®ionCode=对应地区编码&key=你的API密钥
- 从上述接口的返回结果中提取
id字段值,这才是channels接口认可的合法categoryId参数。 - 将拿到的频道分类ID传入
channels接口即可正常发起筛选请求,示例请求结构:
GET https://www.googleapis.com/youtube/v3/channels?part=id,status,snippet,brandingSettings&categoryId=上一步获取的合法频道分类ID&key=你的API密钥
补充说明:目前YouTube官方已经逐步收缩
channels接口按分类筛选的能力,部分地区即使传入合法的频道分类ID,也可能返回空结果,这是接口侧的产品策略调整,不属于参数调用错误。
内容的提问来源于stack exchange,提问作者mjreffel
相关产品推荐
相关产品推荐

