Скорая Компьютерная Помощь г. Калуга

Полный спектр компьютерных услуг!

Здравствуйте, гость ( Вход | Регистрация )

> Внимание!

  • Вся информация, расположенная в данном и других разделах форума получена из открытых источников (интернет-ресурсы, средства массовой информации, печатные издания и т.п.) и/или добавлена самими пользователями. Администрация форума предоставляет его участникам площадку для общения / размещения файлов / статей и т.п. и не несет ответственности за содержание сообщений, а также за возможное нарушение авторских, смежных и каких-либо иных прав, которое может повлечь за собой информация, содержащаяся в сообщениях.
Ремонт компьютеров в калуге Рекламное место сдается
 
Ответить в эту темуОткрыть новую тему
> [Из песочницы] VKPLS — Генерация потокового аудио-плейлиста из vk.com
Decker
сообщение 10.2.2015, 23:38
Сообщение #1


Администратор
*****

Группа: Главные администраторы
Сообщений: 14349
Регистрация: 12.10.2007
Из: Twilight Zone
Пользователь №: 1




Вконтакте API*,
PHP*,
Веб-разработка*




Хочу поделиться с читателями «Хабрахабра» небольшим веб-сервисом (скриптом), который написал для себя.



С появлением социальных сетей и их широким распространением пользователи довольно много времени проводят в онлайне. Все любят музыку, а лично я без нее жить не могу. Так вышло, что всю свою музыкальную коллекцию храню в профайле «Вконтакте». Поскольку всегда в курсе новинок, не трачу свое время на поиск и скачивание, а возможность доступа к своей музыке почти с любого гаджета в любом месте где есть интернет придает максимум удобства. Я очень рад, что прошли те деревянные времена, когда хороший интернет был роскошью. Больше нет необходимости хранить такую информацию на своем жестком диске. Все, что не конфиденциально, выбрасываю в облако.



Большую часть своей работы я выполняю за компьютером, а это значит, что музыка мне необходима как кислород — чтобы сконцентрироваться на поставленных задачах. Врубаешь любимый альбом в 5.1 и творишь. Но есть одно но: чтобы послушать музыку в VK.com, я должен зайти в онлайн, а если заходишь в онлайн — то непременно получаешь кучу сообщений и затягиваешься в нежелательные беседы. Я человек добрый и отзывчивый, поэтому не могу игнорировать своих друзей с их постоянными проблемами. Но ведь мне нужно сконцентрироваться на работе, а вся моя музыка там, где меня всегда что-то отвлекает.



Я обожаю Linux, но нормальных плагинов для музыкальных плееров или самих плееров для прослушивания музыки с VK.com так и не встретил. Тогда решил, что с этим нужно что-то делать и накидал за пару часов небольшой php скрипт, который и назвал vkpls (не трудно догадаться, что я имел ввиду).



Суть скрипта в получении прямых ссылок на аудиозаписи и генерации потокового плейлиста, алгоритм до безобразия прост, я завязал его на VK.API:



Для начала я создал Standalone приложение в разделе «Для разработчиков» и получил для него права на доступ к аудиозаписям. После этого мне необходимо было пройти авторизацию для создания ACCESS_TOKEN, т.к. доступ к информации об аудиозаписях (метод audio.get в vk.api) невозможен по простому POST или GET запросу.



Теперь я мог с помощью средств старенького PHP направлять запрос с интересующими меня параметрами без ограничений, а в ответ получать интересующую меня информацию в формате JSON. Функция audio.get возвращает список аудиозаписей пользователя или сообщества со всей дополнительной информацией. Бинго, это-то мне и было нужно.



Так, например, в ответ такого запроса:

https://api.vk.com/method/audio.get?user_id...АШ_ACCESS_TOKEN


мы получаем массив в формате JSON со следующей информацией:

Ответ на audio.get в JSONresponse: {

count: 505,

items: [{

id: '34',

photo: 'http://cs7009.vk....2/rj4RvYLCobY.jpg',

name: 'Tatyana Plutalova',

name_gen: 'Tatyana'

}, {

id: 232745053,

owner_id: 34,

artist: 'Ambassadeurs',

title: 'Sparks',

duration: 274,

url: 'http://cs6164.vk....lGEJhqRK8d5OQZngI',

lyrics_id: 120266970,

genre_id: 18

}, {

id: 232733966,

owner_id: 34,

artist: 'Aloe Blacc',

title: 'Can You Do This ',

duration: 176,

url: 'http://cs6157.vk....erOa0DvsyOCYTPO1w',

genre_id: 2

}, {

id: 232735496,

owner_id: 34,

artist: 'Aloe Blacc',

title: 'Wake Me Up',

duration: 224,

url: 'http://cs6109.vk....FzHJU55ixz8Av8ujc',

lyrics_id: 119056069,

genre_id: 2

}]

}



Посмотрите — интересующие нас ключи artist, title, duration, url присутствуют для каждой аудиозаписи. Воспользовавшись функцией json_decode я преобразовал полученный массив в понятный для php формат. Все, что мне осталось для достижения результата — это сгенерировать файл плейлиста.



Структура M3U плэйлиста:#EXTM3U

#EXTINF:duration,artist — title

url







Не было ничего проще записать в файл с помощью цикла foreach все полученные данные и сохранить его в m3u.

Ура, все получилось, теперь я могу слушать музыку в любом музыкальном плеере без необходимости авторизации вконтакте.




Резюме


Я решил поделиться своей идеей и сделать ее доступной для таких же, как я. С помощью CSS фрэймворка Maxmertkit (представленного одним из пользователей «Хабрахабра» здесь) сверстал небольшую страницу для удобства использования скрипта. Для всех желающих она доступна по следующей ссылке — VKPLS. Там же вы можете прочитать инструкцию или посмотреть видео.



Следует отметить, что существует одно но. В связи с тем, что ссылки на аудиозаписи на серверах «Вконтакте» меняются с переодичностью в 0,5 — 3 дня, рекомендую чаще обновлять свой плэйлист.



На этом все, спасибо за внимание.

Original source: habrahabr.ru (comments, light).

Читать дальше


--------------------

Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения

Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

Рекламное место сдается Рекламное место сдается
Текстовая версия Сейчас: 6.10.2024, 20:08
Рейтинг@Mail.ru
Яндекс.Метрика Яндекс цитирования