예제 #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, Convert.ToInt32(ApiPerms.Audio | ApiPerms.ExtendedMessages | ApiPerms.ExtendedWall | ApiPerms.Friends | ApiPerms.Offers | ApiPerms.Photos | ApiPerms.Questions | ApiPerms.SendNotify | ApiPerms.SidebarLink | ApiPerms.UserNotes | ApiPerms.UserStatus | ApiPerms.Video | ApiPerms.WallPublisher | ApiPerms.Wiki));
                //sm.Log += new SessionManagerLogHandler(sm_Log);
                this.sessionInfo = sm.GetSession();
                if (this.sessionInfo != null)
                {
                    this.isLoggedIn = true;
                }
            }

            if (this.isLoggedIn)
            {
                manager = new ApiManager(this.sessionInfo);
                //manager.Log += new ApiManagerLogHandler(manager_Log);
                //manager.DebugMode = true;
                manager.Timeout = 10000;
                this.FriendList.Enabled = true;
                this.Text = this.appTitle + ": Authorization success!";

                this.friendFactory = new FriendsFactory(this.manager);
                this.photoFactory = new PhotosFactory(this.manager);
                this.photoList = new List<PhotoEntryFull>();
                this.albumList = new List<AlbumEntry>();
                this.userIdCheck = new Regex("([\\d])+$");
                this.GetFriendList();
            }
        }
예제 #3
0
파일: Sync.cs 프로젝트: ivukovi4/RestMap
 public Sync()
 {
     _manager = new ApiManager(new SessionManager(int.Parse(ConfigurationManager.AppSettings["APP_ID"]), 1204).GetSession());
 }
예제 #4
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);
            }
        }
예제 #5
0
 public BaseFactory(ApiManager manager)
 {
     this.Manager = manager;
 }
예제 #6
0
 public MessagesFactory(ApiManager manager)
     : base(manager)
 {
     this.Manager = manager;
 }
예제 #7
0
 public BaseFactory(ApiManager manager)
 {
     this.Manager = manager;
 }
예제 #8
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);

            }
        }
예제 #9
0
        // Функция «Перелогиниться»
        private void Reauth()
        {
            // Выполняется если пользователь незалогинен
            if (!_isLoggedIn)
            {
                // Соединяемся с VK API, передаем ему ключ приложения и необходимые нам разрешения
                SessionManager sm = new SessionManager(2369574, Convert.ToInt32(ApiPerms.UserStatus | ApiPerms.WallPublisher));
                _sessionInfo = sm.GetSession();
                if (_sessionInfo != null)
                {
                    _isLoggedIn = true;
                }
                Reauth();
            }

            // Выполняется если пользователь залогинен
            if (_isLoggedIn)
            {
                _manager = new ApiManager(_sessionInfo) {Timeout = 10000};
                Text = AppTitle + ": Авторизован!";
                templateForStatus.Text = _templatestatus;

                checkiTunes();
                GetStatus();
            }
        }
예제 #10
0
파일: VK.cs 프로젝트: SnoUweR/iTunesSVKS-2
        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());
            }
        }