YouTube URL'lerini doğrulamak için kod yazıyorum. Video kimliğinin, oHg5SJYRHA0
her zaman tam olarak 11 karakter uzunluğunda olması garanti ediliyor mu yoksa bazen daha kısa veya daha uzun olabilir mi? Bununla ilgili resmi bir belge var mı?
YouTube URL'lerini doğrulamak için kod yazıyorum. Video kimliğinin, oHg5SJYRHA0
her zaman tam olarak 11 karakter uzunluğunda olması garanti ediliyor mu yoksa bazen daha kısa veya daha uzun olabilir mi? Bununla ilgili resmi bir belge var mı?
Yanıtlar:
Muhtemelen uzun süre 11 karaktere yapışacaklar. Her karakterin 64 olası değeri vardır:
2 * 26 harf (küçük ve büyük) basamaklar için + 10, "_" ve "-" karakterleri için + 2
2 * 26 + 10 + 2 = 64
Sonra toplam 11 karakter:
64 ^ 11 = 73786976294838210000 (veya daha fazla veya daha az "73,7e18")
Elbette algoritmalarına bağlı olarak tüm kombinasyonlar kullanılmayacak, ancak muhtemelen yakında değiştirmeyecekler. Bir YouTube geliştiricisinden gelen kelimeler, garanti etmediklerini belirtir:
Belgelerde YouTube video kimlikleri için resmi olarak 11 karakterlik standart uzunlukta taahhüt ettiğimiz hiçbir yerde göremiyorum. Mevcut bir uygulamamız olan şeylerden biri ve süresiz olarak kalabilir. Ama biz buna resmi bir taahhütte bulunmuyoruz, bu yüzden kendi sorumluluğunuzdadır.
Daha kapsamlı bir yaklaşım olsa da, daha iyi bir yaklaşım, her video kimliğini almak ve geçerli olup olmadığını görmek için YouTube API'sından bir istekte bulunmaktır. Örneğin, bir HTTP GET yapın
http://gdata.youtube.com/feeds/api/videos/VIDEO_ID
HTTP 200 yanıtı alıp almadığınızı görün. Elbette, bu yaklaşımı kullanırsanız, YouTube'dan kaldırılan videolar geçersiz olarak geri döner (bu, istediğiniz gibi olabilir veya olmayabilir) ve YouTube'a son zamanlarda yüklenen videolar da geçersiz olarak geri gelebilir.
Şerefe, -Jeff Posnick, YouTube API Ekibi
İşaret etmeye değer bir şey, birkaç URL aynı videoyu gösteriyor. Örneğin, aşağıda yayınlanan videolarda hepsi "2015 Nobel Ödülleri!" Scishow tarafından:
Ayrıca, son karakteri olarak değiştirirseniz C
veya D
bu da işe yarayacaktır.