#youtube #api
#YouTube #API
Вопрос:
На YouTube есть классная штука, которая создает «умный плейлист» из некоторых начальных ключевых слов. Я хотел бы получить программный доступ к плейлисту. Я нашел API данных YouTube, но в нем не обсуждается функция «disco».
В одном из приведенных ниже ответов предлагается использовать
http://www.youtube.com/disco?action_search=1amp;query=XXXXXXXXX
это вернет некоторый JSON с первым воспроизводимым видео и list
свойством. К сожалению, list
это 32-символьная шестнадцатеричная строка, тогда как обычные идентификаторы плейлиста представляют собой 16-символьные шестнадцатеричные строки. Это означает, что стандартный API данных для извлечения полного плейлиста не работает.
Есть предложения?
Ответ №1:
Во-первых, я должен сказать, что я никогда не использовал API данных YouTube, поэтому я не знаю, насколько полезной будет приведенная ниже информация.
Позвольте мне использовать пример:
Я хотел создать Smashing Pumpkins. Я ввел имя исполнителя и нажал кнопку «Disco!». Используя Fiddler2, я выяснил, что запрошенный URL-адрес был:
www.youtube.com/disco?action_search=1amp;query=smashing pumpkins
Обратите внимание, что пробелы заменены на
. В качестве ответа я получил простой ответ в формате JSON:
{"url": "/watch?v=bhMz7x1ZaGMu0026feature=discou0026playnext=1u0026list=MLGxdCwVVULXe5-F4X_zm6wnblRsnXoPJS"}
Это была ссылка на первую песню из свежесгенерированного плейлиста Smashing Pumpkins, адрес которой был list=MLGxdCwVVULXe5-F4X_zm6wnblRsnXoPJS
. Все, что вам нужно знать, это заменить u0026
на amp;
, и вы получите действительную ссылку.
Я предполагаю, что магия rest, которую вы хотите сделать, доступна через официальный API данных YouTube. Я надеюсь, что мои исследования помогут вам.
Редактировать
Что ж, похоже, что этот плейлист, созданный youtube / disco, не является плейлистом того же типа, который могут создавать пользователи и который доступен через API. Идентификатор списка длиннее, чем обычно, и когда вы нажимаете «Подробнее о плейлисте», вы перенаправляетесь на профиль исполнителя. Основываясь на этих двух фактах, я предполагаю, что сгенерированные списки невозможно восстановить с помощью API. Извините.
Комментарии:
1. Формат плейлиста, похоже, не совпадает со стандартным 16-символьным шестнадцатеричным идентификатором.
2. Ну, как я уже сказал, я не знаком с API Youtube. Я только что предоставил вам способ сбора плейлиста, созданного функцией disco. С остальным вам придется справляться самостоятельно. Если этот формат блокирует вас, может быть, это вообще невозможно?
3. @Randomblue: Как я упоминал в части редактирования, я думаю, что невозможно получить запрошенную вами функциональность. Я даже пересмотрел исходный код, но нет никаких признаков типичного идентификатора списка.
Ответ №2:
@Randomblue, как именно вы хотите получить этот плейлист? Вы можете использовать шестнадцатеричный символ 32 в этом URL, чтобы получить страницу с подробным описанием плейлиста
https://www.youtube.com/playlist?list={HEX}
или в iframe встроенного плейлиста, например:
<iframe width="853" height="480" src="//www.youtube.com/embed/videoseries?list={HEX}" frameborder="0" allowfullscreen></iframe>