为何YouTube.search.list接口指定type=channel参数时无法正常运行?
错误触发原因
YouTube.search.list接口的location、locationRadius参数仅支持对type=video的资源做地理位置过滤,不适用于频道、播放列表类资源。你同时传入了地理位置相关参数和type=channel,触发了接口参数校验规则,所以返回400错误。
适配方案
你可以调整请求逻辑满足获取巴基斯坦新冠疫情期间创建的相关频道的需求:
- 先移除请求中的
location、locationRadius参数,保留type=channel、regionCode=PK、发布时间范围、q=business、order=date等核心参数发起请求,此时接口不会返回400错误,可以拿到归属巴基斯坦地区、符合关键词和时间要求的频道列表。 - 若需要更精准的地理位置筛选,可将第一步返回的频道ID批量传入
Channels.list接口,拉取每个频道的详情信息,通过频道详情中的country字段、简介内容中的地理位置信息做二次过滤即可。 - 调整后的合法请求参数参考:
part: snippet publishedAfter: 2019-11-01T00:00:00Z publishedBefore: 2021-11-01T00:00:00Z q: business regionCode: PK type: channel order: date
内容的提问来源于stack exchange,提问作者Hamza Amin
相关产品推荐
相关产品推荐

