Пример #1
0
        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();
        }
Пример #2
0
        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);

            }
        }
Пример #3
0
        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);
            }
        }
Пример #4
0
        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());
            }
        }