我怎么知道我的Youtube API数据是正确的?

时间:2019-02-22 14:33:31

标签: api python-requests youtube-api youtube-data-api google-python-api

我在理解与youtube API相关的内容时遇到了一些麻烦 所以我的代码基本上很简单:

name  = input("enter the username: ")
key = "MY API KEY"


data = urllib.request.urlopen("https://www.googleapis.com/youtube/v3/channels? 
part=statistics&forUsername="+name+"&key="+key).read()
subs = json.loads(data)["items"][0]["statistics"]["subscriberCount"]

print(name + " has " + "{:,d}".format(int(subs)) + " subscribers!")

在提供特定的YouTube用户名后,只需大喊订户数即可: 问题在于某些用户名(例如:Vsuase / Veritasium / Unbox Therapy)具有许多子项,并且API-URL给我错误的数据

Vsause-作为回报,给了我72条字幕

Veritasium / Unbox疗法-完全不给我任何电话号码

BUT ,这是“ Computerphile”频道,可为我提供与他们完全相同的订阅。

为什么很少有用户名起作用而很少有不起作用?

2 个答案:

答案 0 :(得分:0)

我使用YouTube Data API - Official DocumentationGoogle API Explorer中可用的 try-it 功能在这两个地方进行了测试,结果在两个地方都很接近 1 相似。

例如,当通过YouTube API请求YouTube用户vsauce的统计信息时,subscriberCount中的值为14220819,然后检查其YouTube频道,其显示为:{{1} }。

这里是example,用于请求YouTube用户14,220,825 (使用try-it)的统计信息

这是demo,用于请求YouTube用户vsauce (使用Google API资源管理器)的统计信息。

通过请求您在问题中提到的其他渠道,我没有看到vsauce中的值有任何差异。


1 您需要考虑到某些渠道的订户数量变化比其他渠道多,而且这些结果在API响应中也有所不同。

答案 1 :(得分:0)

由于某些原因,如果您更改了forUsernae =-> id = 它会为您提供正确的数字。

TED频道: https://www.googleapis.com/youtube/v3/channels?part=statistics& id = UCAuUUnT6oDeKwE6v1NGQxug &key = AIzaSyDjnINqqxQlIg4kbXoPDVYOhHNfdmDbb9I