YouTube API 2.0和3.0返回不同的结果

YouTube API 2.0和3.0返回不同的结果,api,youtube,youtube-api,Api,Youtube,Youtube Api,我正在开发一个网站,从YouTube频道检索公共视频,以填充网站上的视频列表 发布的页面正在使用API的2.0版本,基本请求URL为:http://gdata.youtube.com/feeds/api/users/z8xDwdqXrHVc-8b4ZsA0Sw/uploads?max-结果=15 此URL成功返回指定频道上可用的6个公共视频 我正在迁移到3.0 API的过程中,我注意到新请求返回的结果存在差异: $searchResults = $youtube -> search -&

我正在开发一个网站,从YouTube频道检索公共视频,以填充网站上的视频列表

发布的页面正在使用API的2.0版本,基本请求URL为:
http://gdata.youtube.com/feeds/api/users/z8xDwdqXrHVc-8b4ZsA0Sw/uploads?max-结果=15

此URL成功返回指定频道上可用的6个公共视频

我正在迁移到3.0 API的过程中,我注意到新请求返回的结果存在差异:

$searchResults =  $youtube -> search -> listSearch( 'snippet', array(
    'channelId' => 'UCz8xDwdqXrHVc-8b4ZsA0Sw',
    'maxResults' => 15,
    'type' => 'video'
) );
对于这个请求,我希望
$searchResults
包含与旧的2.0API请求相同的6个视频,但是,3.0请求返回的响应结果为零

我有理由相信,我已经排除了在设置Google_服务、YouTube和Google_客户端对象时出现的错误

我将上面的
channelId
参数替换为我个人YouTube频道(UC2qJ2qvc_fRp3xLtWKNPucw)的频道ID,并收到了我在该频道上的10个公共视频的回复

什么会导致这种差异

编辑 自从发表这篇文章以来,我已经从有问题的频道中删除了所有视频。这些视频最初是通过twitch.tv提供的导出功能上传的。我下载了原始文件并直接通过YouTube重新提交了视频,现在所有6个视频都如预期的那样出现在API响应中


在这一点上,我已经让feed工作,并制定了一个视频上传管理计划,应该可以防止这种情况再次出现。然而,我仍然想了解是什么导致了不一致性。为什么通过Twitch上传到频道的视频会被排除在搜索结果之外?

如果我尝试使用“UCz8xDwdqXrHVc-8b4ZsA0Sw”来满足您的请求,它会正常工作。你可以试试看:它只起作用。我删除了一些视频并重新上传。这两个视频现在出现了,但应该有6个。这个问题似乎与通过Twitch导出上传的视频有关。这些视频没有包含在结果中,但通过YouTube上传的视频检索得很好;似乎它没有正确地索引通过Twitch传输的视频;有趣的问题是Twitch是否在做这件事(彻底扫描Twitch导出的视频与您上传的视频的元数据可能会有所帮助),或者问题是否存在于通过API上传的视频中。你有没有其他可以直接上传到YouTube的应用程序可以测试?或者,你可以在这个问题上提交一个bug。这肯定在我的待办事项列表上。不幸的是,我没有其他应用程序可以与之比较,但我确实在使用orderby参数时看到v2api存在类似的问题。我从未解决过这个问题,因为正是这个问题促使我升级我的站点,使用v3api。