我正在开设一个网站,该网站会从YouTube频道检索公开视频,以填充网站上的视频列表。
发布的网页使用的是2.0版API,其基本请求网址为:http://gdata.youtube.com/feeds/api/users/z8xDwdqXrHVc-8b4ZsA0Sw/uploads?max-results=15
此网址成功返回指定频道上可用的6个公开视频。
我正在迁移到3.0 API,我注意到新请求返回的结果存在差异:
$searchResults = $youtube -> search -> listSearch( 'snippet', array(
'channelId' => 'UCz8xDwdqXrHVc-8b4ZsA0Sw',
'maxResults' => 15,
'type' => 'video'
) );
有了这个请求,我希望$searchResults
包含与旧的2.0 API请求相同的6个视频,但是3.0请求会返回一个结果为零的响应。
我有理由相信我在设置Google_Service_YouTube和Google_Client对象时排除了错误。
我将上面的channelId
参数替换为我自己的个人YouTube频道(UC2qJ2qvc_fRp3xLtWKNPucw)的频道ID,并收到了我在该频道上的10个公开视频的回复。
会导致这种差异的原因是什么?
自发布此帖子以来,我已从相关频道中删除了所有视频。这些视频最初是使用twitch.tv提供的导出功能上传的。我下载了原始文件并直接通过YouTube重新提交了视频,现在所有6个视频都按预期显示在API响应中。
此时,我已经开始使用Feed,并制定了视频上传管理计划,以防止重新铺设。但是,我仍然想了解会导致不一致的原因。为什么通过Twitch上传到频道的视频会从搜索结果中排除?