我正在编写代码以验证YouTube网址。是否可以确保视频ID(例如oHg5SJYRHA0)始终正好是11个字符,还是有时会更短或更长时间?是否有关于此的任何官方文档?

评论

至少要制作出5.20e + 19视频;)

@Jason该死的你!您正在使用什么计算器!

最高11个字符的组合似乎是一个很大的数目,但是由于上载的youtube视频的数量呈指数级增长,因此几年后可能不会笑起来。因此,如果您创建的不是一对,就不要指望年网站。

@ jave.web您参加聚会迟到了。我在问权威来源,而不是问有人争论64 ^ 11是否很大。可能还有其他原因,某些视频代码的格式可能不同于耗尽它们的格式。例如,可能存在具有较短代码的传统视频,或者存在完全以不同代码格式存储在单独系统中的视频。接受的答案包含了到目前为止我看到的最权威的答案。

我的评论仍然适用,尤其是在2014年,并且仅支持接受的答案;)

#1 楼

他们可能会长时间坚持使用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团队杰夫Posnick


来源: https://web.archive.org/web/20120306111051/http://osdir.com/ml/youtube-api-gdata/2009-10/msg00237.html

评论


@Diego:如果您要引用这么多数字,则还可以显示最后几个数字:64 ^ 11 = 2 ^ 66 = 73,786,976,294,838,206,464四舍五入后,工程形式为73.787e18。

–user60228
2014年2月9日在21:46

我同意@ user60228,除非您显示完整的准确性或详细信息,否则请不要显示完整的数字。知道完整的数学真相对我们中的某些人来说很有趣。 (PS很好的答案!)

– Xonatron
2015年2月25日在21:01



#2 楼

值得指出的是,几个URL指向同一视频。例如,在下面发布的视频中,它们都是“ 2015年诺贝尔奖!”通过Scishow:


https://www.youtube.com/watch?v=U2rmEFVUUHA
https://www.youtube.com/watch?v=U2rmEFVUUHB

此外,如果将最后一个字符更改为CD也可以使用。

评论


您可能发现了一个缺陷。显然,每个视频都有至少4个网址。在您提到A,B,C和D的情况下,它们全都指向A。此外,E,F,G和H都指向E。 I,J,K和L指向I。依此类推。我测试的每个视频都是如此。

– JP de la Torre
17年8月24日在15:33

发布此评论时似乎不再如此。

–nitro2k01
18年11月12日在6:24

#3 楼

是的,它们始终有11个字符。

评论


您有任何信息可以备份吗?

–ale
2012年6月15日13:22