使用YouTube API获取频道最新视频时参数失效问题咨询
问题根源:时间参数顺序完全颠倒了
嘿,我一眼就发现问题所在啦!YouTube API的publishedAfter和publishedBefore参数有明确的逻辑规则,你刚好搞反了两者的时间值:
publishedAfter:只会返回发布时间晚于该时间戳的视频publishedBefore:只会返回发布时间早于该时间戳的视频
你现在设置的publishedAfter是2019-03-13T19:14:31.000Z(更晚的时间),publishedBefore是2019-02-13T19:14:31.000Z(更早的时间),这相当于要求API返回「发布时间在2019年3月之后,同时又在2019年2月之前」的视频——这个时间范围根本不存在,自然不会有任何结果返回。
修正后的代码示例
把两个时间参数的数值调换,确保publishedAfter的时间早于publishedBefore:
baseURL: 'https://www.googleapis.com/youtube/v3', params: { part: 'snippet', publishedAfter: '2019-02-13T19:14:31.000Z', // 更早的起始时间 publishedBefore: '2019-03-13T19:14:31.000Z', // 更晚的结束时间 order: 'date', maxResults: 10, key: KEY, channelId: 'UCzQUP1qoWDoEbmsQxvdjxgQ' }
额外验证小技巧
- 如果你不确定时间范围是否合理,可以先去掉其中一个参数测试,比如只保留
publishedAfter,确认能返回视频后再逐步添加publishedBefore order: 'date'参数本身是有效的,但前提是你的时间范围内存在符合条件的视频,所以先修正时间参数再验证排序效果
内容的提问来源于stack exchange,提问作者NoobCoder
相关产品推荐
相关产品推荐

