I codici YouTube sono garantiti sempre con 11 caratteri?


18

Sto scrivendo un codice per convalidare gli URL di YouTube. È garantito che l'ID video, ad esempio oHg5SJYRHA0, sia sempre lungo esattamente 11 caratteri o può talvolta essere più corto o più lungo? Esiste una documentazione ufficiale al riguardo?


Almeno fino alle 5.20e + 19 video sono stati fatti;)

@Jason accidenti a te! che calcolatrice stai usando!

2
Il max. la combinazione in 11 caratteri sembra un numero elevato, ma probabilmente non sarà sufficiente tra qualche anno da quando il numero di video caricati su YouTube cresce esponenzialmente ... Quindi NON contare su questo se stai creando non-per-uno- siti web dell'anno.
jave.web,

@ jave.web Sei in ritardo alla festa. Stavo chiedendo fonti autorevoli, non che qualcuno discutesse se 64 ^ 11 è un numero elevato. Potrebbero esserci altri motivi per cui alcuni codici video potrebbero avere un formato diverso da quello in cui si esauriscono. Ad esempio, potrebbero essere presenti video legacy con codici più brevi o video archiviati in un sistema separato, con un formato di codice completamente diverso. La risposta accettata contiene la risposta più autorevole che abbia mai visto finora.
nitro2k01,

il mio commento si applica ancora, soprattutto nel 2014, e supporta solo la risposta accettata;)
jave.web

Risposte:


20

Probabilmente rimarranno a 11 caratteri per molto tempo. Ogni personaggio ha 64 possibili valori:

2 * 26 lettere (minuscole e maiuscole) + 10 per le cifre, + 2 per i caratteri "_" e "-"

2 * 26 + 10 + 2 = 64

Quindi 11 caratteri in totale:

64 ^ 11 = 73786976294838210000 (o più o meno "73,7e18")

Ovviamente non tutte le combinazioni verranno utilizzate, a seconda del loro algoritmo, ma probabilmente non lo cambieranno presto. Le parole di uno sviluppatore di YouTube affermano che non garantiscono, tuttavia:

Non vedo da nessuna parte nella documentazione in cui ci impegniamo ufficialmente con una lunghezza standard di 11 caratteri per gli ID video di YouTube. È una di quelle cose in cui abbiamo un'implementazione attuale e potrebbe rimanere così indefinitamente. Ma non stiamo offrendo alcun impegno ufficiale in tal senso, quindi procedi a tuo rischio.

Un approccio migliore, sebbene maggiormente coinvolto, sarebbe quello di prendere ogni ID video e fare una richiesta all'API di YouTube per vedere se è valido. Ad esempio, fai un HTTP GET a

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

e vedi se ricevi una risposta HTTP 200. Naturalmente, se segui questo approccio, i video che sono stati rimossi da YouTube torneranno non validi (che potrebbero essere o meno ciò che desideri) e anche i video che sono stati caricati di recente su YouTube potrebbero non essere validi.

Saluti, -Jeff Posnick, team API di YouTube

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


1
@Diego: se hai intenzione di citare così tante cifre, puoi anche mostrare le ultime: 64 ^ 11 = 2 ^ 66 = 73.786.976.294.838.206.464 Con 0,5 arrotondamenti, il modulo di ingegneria è 73.787e18.

Sono d'accordo con @ user60228, non mostrare cifre complete a meno che non mostri la massima precisione o dettaglio in caso contrario. È solo interessante per alcuni di noi conoscere la verità matematica completa. (PS Ottima risposta!)
Xonatron,

4

Qualcosa che vale la pena sottolineare, un paio di URL puntano allo stesso video. Ad esempio, nei video pubblicati di seguito, sono tutti "I premi Nobel 2015!" di Scishow:

Inoltre, se cambi l'ultimo carattere in Co anche Dquello funzionerà.


1
Potresti aver trovato un difetto. Apparentemente ogni video ha almeno 4 URL. Nel caso in cui menzioni A, B, C e D tutti indicano A. Inoltre, E, F, G e H indicano E; I, J, K e L indicano I. E così via. E questo è vero per ogni video che ho testato.
JP de la Torre,

Questo sembra non essere più il caso di pubblicare questo commento.
nitro2k01,

-2

Sì, hanno sempre 11 caratteri.


3
Hai delle informazioni per eseguire il backup?
Ale
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.