Les codes YouTube sont-ils garantis à toujours 11 caractères?

18

J'écris du code pour valider les URL YouTube. Est-il garanti que l'ID vidéo, tel que oHg5SJYRHA0, comporte toujours exactement 11 caractères, ou peut-il parfois être plus court ou plus long? Existe-t-il une documentation officielle à ce sujet?

nitro2k01
la source
Au moins jusqu'à 5.20e + 19 vidéos sont faites;)
@Jason vous maudit! quelle calculatrice utilisez-vous!
2
Le max. combinaison 11 caractères semble comme un grand nombre, mais il wont't probablement enaugh dans quelques années , puisque le nombre de vidéos mises en ligne youtube pousse exponentialy ... Alors ne comptez pas que si vous créez sans- de un sites Web de l'année.
jave.web
@ jave.web Vous êtes en retard à la fête. Je demandais des sources faisant autorité, pas quelqu'un pour discuter si 64 ^ 11 est un grand nombre. Il pourrait y avoir d'autres raisons pour lesquelles certains codes vidéo pourraient avoir un format différent de celui qui en manque. Par exemple, il peut y avoir des vidéos héritées avec des codes plus courts, ou des vidéos qui sont stockées dans un système distinct, avec un format de code entièrement différent. La réponse acceptée contient la réponse la plus fiable que j'ai vue jusqu'à présent.
nitro2k01
mon commentaire s'applique toujours, surtout en 2014, et ne fait que soutenir la réponse acceptée;)
jave.web

Réponses:

20

Ils s'en tiendront probablement à 11 caractères pendant longtemps. Chaque caractère a 64 valeurs possibles:

2 * 26 lettres (minuscules et majuscules) + 10 pour les chiffres, + 2 pour les caractères "_" et "-"

2 * 26 + 10 + 2 = 64

Puis 11 caractères au total:

64 ^ 11 = 73786976294838210000 (ou plus ou moins "73,7e18")

Bien sûr, toutes les combinaisons ne seront pas utilisées, selon leur algorithme, mais elles ne le changeront probablement pas de sitôt. Les mots d'un développeur YouTube indiquent qu'ils ne garantissent pas, cependant:

Je ne vois nulle part dans la documentation où nous nous engageons officiellement à une longueur standard de 11 caractères pour les identifiants vidéo YouTube. C'est l'une de ces choses où nous avons une implémentation actuelle, et cela peut rester ainsi indéfiniment. Mais nous n'offrons aucun engagement officiel à cet égard, alors procédez à vos risques et périls.

Une meilleure approche, bien que plus impliquée, serait de prendre chaque identifiant vidéo et de faire une demande à l'API YouTube pour voir si elle est valide. Par exemple, créez un HTTP GET pour

http://gdata.youtube.com/feeds/api/videos/VIDEO_ID

et voyez si vous obtenez une réponse HTTP 200. Bien sûr, si vous adoptez cette approche, les vidéos qui ont été supprimées de YouTube reviendront comme non valides (ce qui peut ou non être ce que vous voulez) et les vidéos qui ont été téléchargées très récemment sur YouTube peuvent également revenir comme non valides.

Cordialement, -Jeff Posnick, équipe API YouTube

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

Vidar S. Ramdal
la source
1
@Diego: Si vous voulez citer autant de chiffres, vous pouvez aussi bien afficher les derniers: 64 ^ 11 = 2 ^ 66 = 73 786 976 294 838 206 464 Avec un arrondi de 0,5, le formulaire d'ingénierie est 73,787e18.
Je suis d'accord avec @ user60228, n'affichez pas les chiffres complets, sauf indication contraire. Juste intéressant pour certains d'entre nous de connaître toute la vérité mathématique. (PS Grande réponse!)
Xonatron
4

Quelque chose qui mérite d'être souligné, quelques URL pointent vers la même vidéo. Par exemple, dans les vidéos publiées ci-dessous, ce sont tous "Les prix Nobel 2015!" par Scishow:

De plus, si vous changez le dernier caractère en Cou Dcela fonctionnera aussi.

Criticofus
la source
1
Vous avez peut-être trouvé un défaut. Apparemment, chaque vidéo a au moins 4 URL. Dans le cas où vous mentionnez A, B, C et D, tous pointent vers A. De plus, E, F, G et H pointent vers E; I, J, K et L pointent vers I. Et ainsi de suite. Et c'est vrai pour chaque vidéo que j'ai testée.
JP de la Torre
Cela ne semble plus être le cas au moment de la publication de ce commentaire.
nitro2k01
-2

Oui, ils ont toujours 11 caractères.


la source
3
Avez-vous des informations à l'appui de cela?
ale