我正在编写代码以验证YouTube网址。是否可以确保视频ID(例如 oHg5SJYRHA0
)始终正好是11个字符,还是有时会更短或更长时间?是否有关于此的官方文件?
我正在编写代码以验证YouTube网址。是否可以确保视频ID(例如 oHg5SJYRHA0
)始终正好是11个字符,还是有时会更短或更长时间?是否有关于此的官方文件?
Answers:
他们可能会长时间坚持使用11个字符。每个字符都有64个可能的值:
2 * 26个字母(小写和大写)+ 10个数字,+ 2个“ _”和“-”字符
2 * 26 + 10 + 2 = 64
然后总共11个字符:
64 ^ 11 = 73786976294838210000(或多或少的“ 73,7e18”)
当然,并非所有组合都将使用,这取决于其算法,但是他们可能不会很快改变它。YouTube开发者的话说,他们不能保证,但是:
我没有在文档中看到我们正式承诺将YouTube视频ID的标准长度限制为11个字符的任何地方。这是我们当前有实现的事情之一,并且可能会无限期地保持下去。但是我们没有为此提供任何官方承诺,因此风险自负。
一种更好的方法(尽管涉及更多)是获取每个视频ID并向YouTube API发出请求,以查看其是否有效。例如,进行HTTP GET到
http://gdata.youtube.com/feeds/api/videos/VIDEO_ID
并查看是否返回HTTP 200响应。当然,如果您采用这种方法,那么从YouTube删除的视频将恢复为无效(可能是您想要的,也可能不是您想要的),而最近上传到YouTube的视频也可能会恢复为无效。
干杯-YouTube API小组-Jeff Posnick
来源:https://web.archive.org/web/20120306111051/http://osdir.com/ml/youtube-api-gdata/2009-10/msg00237.html
值得指出的是,几个URL指向同一视频。例如,在下面发布的视频中,它们都是“ 2015年诺贝尔奖!” 通过Scishow:
另外,如果将最后一个字符更改为C
或D
也可以。