Коды YouTube гарантированно всегда будут состоять из 11 символов?


18

Я пишу код для проверки URL-адресов YouTube. Гарантируется ли, что идентификатор видео, например oHg5SJYRHA0, всегда ровно 11 символов, или иногда он может быть короче или длиннее? Есть ли официальная документация по этому поводу?


По крайней мере, до 5.20e + 19 видео сделано;)

@ Джейсон, черт тебя побери! какой калькулятор вы используете!

2
Макс. Комбинация в 11 символов выглядит большим числом, но, вероятно, через несколько лет это не будет поводом для смешения, поскольку количество загруженных видео на YouTube растет в геометрической прогрессии ... Так что НЕ рассчитывайте на это, если вы создаете не для одного. год сайтов.
jave.web

@ jave.web Ты опоздал на вечеринку. Я спрашивал об авторитетных источниках, а не о том, чтобы кто-то утверждал, что число 64 ^ 11 большое. Могут быть и другие причины, по которым некоторые видео коды могут отличаться от формата, который у них заканчивается. Например, это могут быть устаревшие видео с более короткими кодами или видео, которые хранятся в отдельной системе с совершенно другим форматом кода. Принятый ответ содержит самый авторитетный ответ, который я когда-либо видел.
nitro2k01

Мой комментарий все еще применяется, особенно в 2014 году, и просто поддерживает принятый ответ;)
jave.web

Ответы:


20

Они, вероятно, будут придерживаться 11 символов в течение длительного времени. Каждый персонаж имеет 64 возможных значения:

2 * 26 букв (строчные и прописные) + 10 для цифр, + 2 для символов "_" и "-"

2 * 26 + 10 + 2 = 64

Тогда всего 11 символов:

64 ^ 11 = 73786976294838210000 (или более или менее "73,7e18")

Конечно, не все комбинации будут использоваться, в зависимости от их алгоритма, но они, вероятно, не собираются менять его в ближайшее время. Слова от разработчика YouTube утверждают, что они не гарантируют, однако:

Я не вижу нигде в документации, где мы официально фиксируем стандартную длину 11 символов для идентификаторов видео на YouTube. Это одна из тех вещей, где у нас есть текущая реализация, и она может оставаться такой до бесконечности. Но мы не предлагаем никаких официальных обязательств, поэтому действуйте на свой страх и риск.

Лучший подход, хотя и более сложный, состоит в том, чтобы взять каждый идентификатор видео и сделать запрос к API YouTube, чтобы проверить, является ли он действительным. Например, сделать HTTP GET для

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

и посмотрите, вернетесь ли вы ответ HTTP 200. Конечно, если вы воспользуетесь этим подходом, видео, удаленные с YouTube, вернутся как недействительные (что может или не может быть тем, что вы хотите), а видео, которые совсем недавно были загружены на YouTube, могут также вернуться как недействительные.

Приветствия, -Джефф Посник, команда API YouTube

Источник: https://web.archive.org/web/20120306111051/http://osdir.com/ml/youtube-api-gdata/2009-10/msg00237.html


1
@ Диего: Если вы собираетесь процитировать так много цифр, вы можете также показать последние несколько: 64 ^ 11 = 2 ^ 66 = 73 786 976 294 838 206 464 При округлении 0,5, инженерная форма равна 73,787e18.

Я согласен с @ user60228, не показывать полные цифры, если вы не указали полную точность или подробности в противном случае. Просто некоторым из нас интересно знать полную математическую правду. (PS Отличный ответ!)
Xonatron

4

Что-то стоит отметить, пара URL-адресов указывают на одно и то же видео. Например, в видео, размещенных ниже, они все "Нобелевские премии 2015 года!" Scishow:

Кроме того, если вы измените последний символ на Cили Dэто будет работать тоже.


1
Возможно, вы нашли недостаток. По-видимому, каждое видео имеет по крайней мере 4 URL. В случае, если вы упомянули A, B, C и D, все указывают на A. Кроме того, E, F, G и H указывают на E; Я, J, K и L указывают на I. И так далее. И это верно для каждого видео, которое я тестировал.
JP de la Torre

Похоже, это больше не относится к публикации этого комментария.
nitro2k01

-2

Да, они всегда имеют 11 символов.


3
У вас есть какая-нибудь информация, подтверждающая это?
Эль
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.