static void Main(string[] args) { SessionManager sm = new SessionManager(1928531, "audio"); SessionInfo sessionInfo = sm.GetOAuthSession(args[0], args[1]); var manager = new ApiManager(sessionInfo); manager.OnLog += new ApiManagerLogHandler(manager_Log); manager.DebugMode = true; manager.Timeout = 10000; var audioFactory = new AudioFactory(manager); audioFactory .Get(sessionInfo.UserId, null, null) .OrderBy(x => x.Artist) .ToList() .ForEach(x => Console.WriteLine("{0} - {1}", x.Artist, x.Title)); /* var vkAudioClass = new VkAudioClass(); vkAudioClass.Init(IntPtr.Zero, IntPtr.Zero, true, true); vkAudioClass.SearchSongs(); */ Console.ReadLine(); }
private void Reauth() { // если пользователь не авторизован if (!this.isLoggedIn) { // создаем новый менеджер сессий SessionManager sm = new SessionManager(1928531, "audio"); // подключаем обработчик события на получение сообщений из лога //sm.Log += new SessionManagerLogHandler(sm_Log); // Авторизуемся через OAuth и получаем сессию this.sessionInfo = sm.GetOAuthSession(); // если сессия получена, отмечаем пользователя как залогинившегося if (this.sessionInfo != null) { this.isLoggedIn = true; } } // если пользователь залогинился if (this.isLoggedIn) { // создаем менеджера api. через этот объект происходит взаимодействие всех фрапперов api manager = new ApiManager(this.sessionInfo); //manager.Log += new ApiManagerLogHandler(manager_Log); //manager.DebugMode = true; // устанавливаем таймаут для запросов к pi manager.Timeout = 10000; // косметические изменения this.Text = this.appTitle + ": Authorization success!"; // создаем фабрику аудиозаписей this.audioFactory = new AudioFactory(this.manager); } }
private void Reauth() { try { if (!_isLoggedIn) { // Соединяемся с VK API, передаем ему ключ приложения и необходимые нам разрешения var sm = new SessionManager(2369574, "status,wall,photos,audio"); _sessionInfo = sm.GetOAuthSession(); if (_sessionInfo != null) { _isLoggedIn = true; } Reauth(); } // Выполняется если пользователь залогинен else { _manager = new ApiManager(_sessionInfo) { Timeout = 10000 }; Text = AppTitle + ": Авторизован!"; CheckiTunes(); GetStatus(); GetFriends(); } } catch (Exception e) { AddLineToConsole(e.Message); } }
public void Auth() { //чтобы форма с авторизацией не фризила поток, а продолжала свою работу сразу после эвента //https://stackoverflow.com/questions/1916095/how-do-i-make-an-eventhandler-run-asynchronously //Task.Factory.FromAsync( // (asyncCallback, @object) => // { // var onConnecting = this.Connecting; // return onConnecting != null ? onConnecting.BeginInvoke(this, GetNetworkName(), asyncCallback, @object) : null; // }, // this.Connecting.EndInvoke, null); OnConnecting(); ShareDestionation = ShareDestinations.Messages; _sessionManager = new SessionManager(2369574, "status,wall,photos,audio,messages"); if (_needRelogin) { _sessionManager.ReLogin(); _isLogged = false; _needRelogin = false; } if (!_isLogged) { // Соединяемся с VK API, передаем ему ключ приложения и необходимые нам разрешения _sessionInfo = _sessionManager.GetOAuthSession(); if (_sessionInfo != null) { _isLogged = true; } Auth(); } // Выполняется если пользователь залогинен else { _manager = new ApiManager(_sessionInfo) { Timeout = 10000 }; _statusFactory = new StatusFactory(_manager); _friendsFactory = new FriendsFactory(_manager); _audioFactory = new AudioFactory(_manager); _messagesFactory = new MessagesFactory(_manager); _photosFactory = new PhotosFactory(_manager); _wallFactory = new WallFactory(_manager); OnConnected(_sessionInfo.UserId.ToString()); } }