Разработка загрузчика музыки из vk.com с использованием VkNet

в 20:49, , рубрики: Песочница, метки: ,

Не новость, что почти каждый пользователь любой социальной сети имеет приличный список аудиозаписей, который так жалко потерять. Было бы меньше беспокойства, если вы имеете доступ к своим любимым аудиозаписям оффлайн. Конечно, существует несколько расширений для браузеров и десктопных приложений, решающих данную проблему. На этой ноте я и пришел к желанию реализовать собственный «велосипед».

Вооружение

  • документация по разработке Standalone/Mobile-приложений от vk.com;
  • заранее созданное приложение на сайте;
  • Microsoft Visual Studio 2013 Ultimate;
  • библиотека VkNet с открытым исходным кодом;
  • базовые знания языка программирования C# + XAML.

Алгоритм

Первым делом нам необходимо авторизоваться в приложении и получить список аудиозаписей с URL'ами. Далее «сливаем» все к себе на жесткий диск.

Реализация

Приступаем. Запускаем Microsoft Visual Studio и создаем новое приложение WPF. Не забываем указать версию платформы .NET Framework. Для использования библиотеки VkNet требуется .NET Framework 4.0. При помощи NuGet устанавливаем пакет «Vkontakte API for .NET».

Авторизация

Для того авторизоваться в приложении будем использовать следующую процедуру:

public void VkNet.VkApi.Authorize(int appId, string email, string password, Settings settings);

После успешной авторизации можем смело получать список аудиозаписей функцией:

public ReadOnlyCollection<Audio> VkNet.VkApi.Get(long uid, long? albumId = null, IEnumerable<long> aids = null, int? count = null, int? offset = null);

Для этого метода нам понадобится идентификатор пользователя, который провел авторизацию. Взять его можно в свойстве UserId.

Загрузка

На этом этапе возникает вопрос: «куда сохранять загруженные файлы?». Чтобы на первых парах не заморачиваться — воспользуемся переменной среды Windows. Для точки сбора нашей музыки идеально подойдет %USERPROFILE%, она хранит путь до домашней папки пользователя. Скачивать будем средствами WebClient:

public void WebClient.DownloadFileAsync(Uri address, string fileName);

image

Подводим итоги

С помощью VkNet можно написать достаточно хороший загрузчик музыки из vk.com. Это сэкономит кучу времени, особенно новичкам. Однако важно помнить, что использование сторонних библиотек вызывает сильную зависимость.

Используемая литература

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js