我想使用Youtube数据API搜索来检索Youtube上观看次数最多的视频。但是,出于某种原因,我的结果却遗漏了一些视频。
以下是API调用:https://www.googleapis.com/youtube/v3/search?part=snippet&key= {YOUR-API-KEY}& alt = json& type = video& order = viewCount& maxResults = 50
API返回的13个第一个结果是:
9bZkp7q19f0
RgKAFK5djSk
fRh_vgS2dFE
OPf0YbXqDm0
e-ORhEE9VVg
KYniUCGPGLs
YQHsXMglC9A
nfWlot6h_JM
NUsoVlDFqZg
HP-MbfHFUqs
CevxZvSJLk8
7PCkvCPvDXk
0KSOMA3QBU0
在我查询时,这些应该是Youtube上观看次数最多的13个视频。
但是,看看这个Youtube制作的播放列表:
https://www.youtube.com/playlist?list=PLirAqAtl_h2r5g8xGajEwdXd3x1sZh8hC
我可以看到拥有17亿次观看次数的视频YqeW9_5kURI
应该在API返回的列表中排在第9位,但事实并非如此。实际上,它从未出现在API返回的500(最大)视频中。
更新
由于结果每天都在变化,我使用搜索API进行了更全面的测试。 这是我昨天12月提到的API调用的结果。第13次(前10个结果):
这是今天获得的结果,dec。 14日(再次,前10个结果):
我绝对相信API调用在这两个日期之间没有变化,代码完全相同。
第一个异常:第二次通话中的视频7(YqeW9_5kURI)没有出现在第一次通话中(这是我原来的帖子示例),尽管它的17亿次观看肯定不会在一夜之间完成。
第二个异常:第一次通话中的视频4,5,7(OPf0YbXqDm0,e-ORhEE9VVg,YQHsXMglC9A)没有出现在第二次通话中,尽管它们仍然可以在Youtube上使用,并且仍然比视频5(nfWlot6h_JM)更多,实例
这些异常经常在更大的结果集上重复。
总而言之,搜索API似乎没有产生具有查询字符串和viewCount顺序的确定性结果,这是预期的行为吗?
或者你可以帮我弄清楚这可能是什么原因吗?
在此先感谢您的帮助,我们将非常感谢任何指示。
答案 0 :(得分:0)
尝试添加chart
等过滤参数。图表参数标识您想要retrieve的图表。 mostPopular
为指定的content region和`video category重新制作了最受欢迎的视频。
如果成功,此方法将返回具有以下结构的响应正文:
{
"kind": "youtube#videoListResponse",
"etag": etag,
"nextPageToken": string,
"prevPageToken": string,
"pageInfo": {
"totalResults": integer,
"resultsPerPage": integer
},
"items": [
video Resource
]
}