OpenVkNetApi — неофициальная .NET библиотека для работы с OpenVK API. Полная поддержка методов аудио (поиск, управление альбомами, редактирование) и аккаунта. C# 8.0, async/await, XML-документация.
// Создание клиента
var api = new OpenVkApi("https://ovk.to");
// Авторизация по логину/паролю
var auth = await api.AuthorizeAsync("login", "password");
// Или установка токена вручную
api.SetAccessToken("your_access_token");
// Получение аудио
var audios = await api.Audio.GetAsync(count: 10);
// Поиск аудио
var search = await api.Audio.SearchAsync("любимый трек", count: 20);
// Создание альбома
var albumId = await api.Audio.AddAlbumAsync("Мои треки");dotnet add package OpenVkNetApiили через Package Manager:
Install-Package OpenVkNetApi
GetAsync()— получить аудиозаписиSearchAsync()— поиск аудиоGetBroadcastListAsync()— трансляцииEditAsync()— редактированиеAddAsync()/DeleteAsync()/RestoreAsync()— управление записямиGetAlbumsAsync()/SearchAlbumsAsync()— альбомыAddAlbumAsync()/EditAlbumAsync()/DeleteAlbumAsync()— работа с альбомамиMoveToAlbumAsync()/RemoveFromAlbumAsync()— перемещениеCopyToAlbumAsync()— копирование в альбом- Закладки альбомов (
BookmarkAlbumAsync()/UnbookmarkAlbumAsync())
GetProfileInfoAsync()— информация о профилеGetInfoAsync()— настройки аккаунтаSetOnlineAsync()/SetOfflineAsync()— статус онлайн/оффлайнGetCountersAsync()— счетчики уведомленийSaveProfileInfoAsync()— сохранить профильGetBalanceAsync()— баланс голосовSendVotesAsync()— отправить голосаBanAsync()/UnbanAsync()— черный списокGetBannedAsync()— список заблокированныхSaveInterestsInfoAsync()— интересыGetOvkSettingsAsync()— настройки OpenVK
- ✅ Полная async/await поддержка
- ✅ Авторизация по логину/паролю
- ✅ Поддержка 2FA
- ✅ Обработка ошибок API
- ✅ CancellationToken везде
- ✅ XML-документация для IntelliSense
- ✅ .NET Standard 2.0 / C# 8.0
- ✅ Зависимости: только Newtonsoft.Json
try
{
var api = new OpenVkApi("https://openvk.example.com");
// Авторизация
await api.AuthorizeAsync("user@example.com", "password123");
// Создать альбом и добавить треки
var albumId = await api.Audio.AddAlbumAsync("a");
await api.Audio.MoveToAlbumAsync(albumId, "123_456,789_012");
// Поиск и получение
var searchTracks = await api.Audio.SearchAsync("а", count: 5);
foreach (var audio in searchTracks.Items)
{
Console.WriteLine($"{audio.Artist} - {audio.Title}");
}
}
catch (OvkApiException ex)
{
Console.WriteLine($"API Error {ex.ErrorCode}: {ex.Message}");
}- .NET Standard 1.1
MIT License. См. LICENSE файл.