Exemplo n.º 1
0
        /// <summary>
        /// Инициализирует новый экземпляр класса <see cref="VkApi"/>.
        /// </summary>
        public VkApi(ICaptchaSolver captchaSolver = null)
        {
            Browser = new Browser();

            Users    = new UsersCategory(this);
            Friends  = new FriendsCategory(this);
            Status   = new StatusCategory(this);
            Messages = new MessagesCategory(this);
            Groups   = new GroupsCategory(this);
            Audio    = new AudioCategory(this);
            Wall     = new WallCategory(this);
            Board    = new BoardCategory(this);
            Database = new DatabaseCategory(this);
            Utils    = new UtilsCategory(this);
            Fave     = new FaveCategory(this);
            Video    = new VideoCategory(this);
            Account  = new AccountCategory(this);
            Photo    = new PhotoCategory(this);
            Docs     = new DocsCategory(this);
            Likes    = new LikesCategory(this);
            Pages    = new PagesCategory(this);
            Gifts    = new GiftsCategory(this);
            Apps     = new AppsCategory(this);
            NewsFeed = new NewsFeedCategory(this);
            Stats    = new StatsCategory(this);
            Auth     = new AuthCategory(this);
            Markets  = new MarketsCategory(this);
            Execute  = new ExecuteCategory(this);

            RequestsPerSecond = 3;

            MaxCaptchaRecognitionCount = 5;
            _captchaSolver             = captchaSolver;
        }
Exemplo n.º 2
0
        /// <summary>
        /// Инициализирует новый экземпляр класса <see cref="VkApi"/>.
        /// </summary>
        public VkApi()
        {
            Browser = new Browser();

            Users    = new UsersCategory(this);
            Friends  = new FriendsCategory(this);
            Status   = new StatusCategory(this);
            Messages = new MessagesCategory(this);
            Groups   = new GroupsCategory(this);
            Audio    = new AudioCategory(this);
            Wall     = new WallCategory(this);
            Database = new DatabaseCategory(this);
            Utils    = new UtilsCategory(this);
            Fave     = new FaveCategory(this);
            Video    = new VideoCategory(this);
            Account  = new AccountCategory(this);
            Photo    = new PhotoCategory(this);
            Docs     = new DocsCategory(this);
            Likes    = new LikesCategory(this);
            Pages    = new PagesCategory(this);
            Gifts    = new GiftsCategory(this);
            Apps     = new AppsCategory(this);
            NewsFeed = new NewsFeedCategory(this);
            Stats    = new StatsCategory(this);
            Auth     = new AuthCategory(this);

            RequestsPerSecond = 3;
        }
Exemplo n.º 3
0
        public void GetUsers_OneItem()
        {
            const string url  = "https://api.vk.com/method/fave.getUsers?count=3&offset=1&v=5.9&access_token=token";
            const string json =
                @"{
                    'response': {
                      'count': 2,
                      'items': [
                        {
                          'id': 1,
                          'first_name': 'Павел',
                          'last_name': 'Дуров'
                        }
                      ]
                    }
                  }";

            FaveCategory cat = GetMockedFaveCategory(url, json);

            ReadOnlyCollection <User> users = cat.GetUsers(3, 1);

            users.ShouldNotBeNull();
            users.Count.ShouldEqual(1);
            users[0].Id.ShouldEqual(1);
            users[0].FirstName.ShouldEqual("Павел");
            users[0].LastName.ShouldEqual("Дуров");
        }
Exemplo n.º 4
0
        /// <summary>
        /// Инициализирует новый экземпляр класса <see cref="VkApi"/>.
        /// </summary>
        public VkApi()
        {
            Browser = new Browser();

            Users = new UsersCategory(this);
            Friends = new FriendsCategory(this);
            Status = new StatusCategory(this);
            Messages = new MessagesCategory(this);
            Groups = new GroupsCategory(this);
            Audio = new AudioCategory(this);
            Wall = new WallCategory(this);
            Database = new DatabaseCategory(this);
            Utils = new UtilsCategory(this);
            Fave = new FaveCategory(this);
            Video = new VideoCategory(this);
            Account = new AccountCategory(this);
            Photo = new PhotoCategory(this);
            Docs = new DocsCategory(this);
            Likes = new LikesCategory(this);
            Pages = new PagesCategory(this);
            Gifts = new GiftsCategory(this);
            Apps = new AppsCategory(this);
            NewsFeed = new NewsFeedCategory(this);
            Stats = new StatsCategory(this);
            Auth = new AuthCategory(this);
            Markets = new MarketsCategory(this);
            Execute = new ExecuteCategory(this);

            RequestsPerSecond = 3;
        }
Exemplo n.º 5
0
Arquivo: VkApi.cs Projeto: ShamilS/vk
        /// <summary>
        /// Инициализирует новый экземпляр класса <see cref="VkApi"/>.
        /// </summary>
        public VkApi()
        {
            Browser = new Browser();

            Users    = new UsersCategory(this);
            Friends  = new FriendsCategory(this);
            Status   = new StatusCategory(this);
            Messages = new MessagesCategory(this);
            Groups   = new GroupsCategory(this);
            Audio    = new AudioCategory(this);
            Wall     = new WallCategory(this);
            Database = new DatabaseCategory(this);
            Utils    = new UtilsCategory(this);
            Fave     = new FaveCategory(this);
            Video    = new VideoCategory(this);
            Account  = new AccountCategory(this);
        }
Exemplo n.º 6
0
        /// <summary>
        /// Инициализирует новый экземпляр класса <see cref="VkApi"/>.
        /// </summary>
        public VkApi()
        {
            ServicePointManager.ServerCertificateValidationCallback = new PositiveCertificatePolicy().ServerCertificateValidationCallback;

            Browser = new Browser();

            Users    = new UsersCategory(this);
            Friends  = new FriendsCategory(this);
            Status   = new StatusCategory(this);
            Messages = new MessagesCategory(this);
            Groups   = new GroupsCategory(this);
            Audio    = new AudioCategory(this);
            Wall     = new WallCategory(this);
            Database = new DatabaseCategory(this);
            Utils    = new UtilsCategory(this);
            Fave     = new FaveCategory(this);
            Video    = new VideoCategory(this);
            Account  = new AccountCategory(this);
            Likes    = new LikesCategory(this);
            Photo    = new PhotoCategory(this);
        }
Exemplo n.º 7
0
        public void GetVideos_NormalCase()
        {
            const string url  = "https://api.vk.com/method/fave.getVideos?count=3&offset=1&v=5.9&access_token=token";
            const string json =
                @"{
                    'response': {
                      'count': 2,
                      'items': [
                        {
                          'id': 164841344,
                          'owner_id': 1,
                          'title': 'This is SPARTA',
                          'duration': 16,
                          'description': '',
                          'date': 1366495075,
                          'views': 215502,
                          'comments': 2559,
                          'photo_130': 'http://cs12761.vk.me/u5705167/video/s_df53315c.jpg',
                          'photo_320': 'http://cs12761.vk.me/u5705167/video/l_00c6be47.jpg'
                        }
                      ]
                    }
                  }";

            FaveCategory cat = GetMockedFaveCategory(url, json);

            ReadOnlyCollection <Video> videos = cat.GetVideos(3, 1);

            videos.Count.ShouldEqual(1);

            videos[0].Id.ShouldEqual(164841344);
            videos[0].OwnerId.ShouldEqual(1);
            videos[0].Title.ShouldEqual("This is SPARTA");
            videos[0].Duration.ShouldEqual(16);
            videos[0].Date.ShouldEqual(new DateTime(2013, 4, 21, 1, 57, 55));
            videos[0].ViewsCount.ShouldEqual(215502);
            videos[0].CommentsCount.ShouldEqual(2559);
            videos[0].Photo130.ShouldEqual(new Uri("http://cs12761.vk.me/u5705167/video/s_df53315c.jpg"));
            videos[0].Photo320.ShouldEqual(new Uri("http://cs12761.vk.me/u5705167/video/l_00c6be47.jpg"));
        }
Exemplo n.º 8
0
        /// <summary>
        /// Инициализирует новый экземпляр класса <see cref="VkApi"/>.
        /// </summary>
        public VkApi()
        {
            Browser = new Browser();

            Users    = new UsersCategory(this);
            Friends  = new FriendsCategory(this);
            Status   = new StatusCategory(this);
            Messages = new MessagesCategory(this);
            Groups   = new GroupsCategory(this);
            Audio    = new AudioCategory(this);
            Wall     = new WallCategory(this);
            Database = new DatabaseCategory(this);
            Utils    = new UtilsCategory(this);
            Fave     = new FaveCategory(this);
            Video    = new VideoCategory(this);
            Account  = new AccountCategory(this);
            Photo    = new PhotoCategory(this);
            Docs     = new DocsCategory(this);

            RequestsPerSecond = 3;
            AutoTokenRefresh  = false;
        }
Exemplo n.º 9
0
        /// <summary>
        /// Инициализирует новый экземпляр класса <see cref="VkApi"/>.
        /// </summary>
        public VkApi()
        {
            Browser = new Browser();

            Users = new UsersCategory(this);
            Friends = new FriendsCategory(this);
            Status = new StatusCategory(this);
            Messages = new MessagesCategory(this);
            Groups = new GroupsCategory(this);
            Audio = new AudioCategory(this);
            Wall = new WallCategory(this);
            Database = new DatabaseCategory(this);
            Utils = new UtilsCategory(this);
            Fave = new FaveCategory(this);
            Video = new VideoCategory(this);
			Account = new AccountCategory(this);
            Photo = new PhotoCategory(this);
            Docs = new DocsCategory(this);
            Likes = new LikesCategory(this);
			
            RequestsPerSecond = 3;
        }
Exemplo n.º 10
0
        public void GetPhotos_NormalCase()
        {
            const string url  = "https://api.vk.com/method/fave.getPhotos?count=3&offset=1&v=5.9&access_token=token";
            const string json =
                @"{
                    'response': {
                      'count': 3,
                      'items': [
                        {
                          'id': 263113261,
                          'album_id': 136592355,
                          'owner_id': 1,
                          'photo_75': 'http://cs9591.vk.me/u00001/136592355/s_47267f71.jpg',
                          'photo_130': 'http://cs9591.vk.me/u00001/136592355/m_dc54094a.jpg',
                          'photo_604': 'http://cs9591.vk.me/u00001/136592355/x_3216ccc1.jpg',
                          'photo_807': 'http://cs9591.vk.me/u00001/136592355/y_e10ee835.jpg',
                          'photo_1280': 'http://cs9591.vk.me/u00001/136592355/z_a8fd75ba.jpg',
                          'photo_2560': 'http://cs9591.vk.me/u00001/136592355/w_62aef149.jpg',
                          'text': '',
                          'date': 1307628890
                        },
                        {
                          'id': 319770573,
                          'album_id': -7,
                          'owner_id': -25397178,
                          'user_id': 100,
                          'photo_75': 'http://cs310923.vk.me/v310923070/c28b/VEtf7pX6MXM.jpg',
                          'photo_130': 'http://cs310923.vk.me/v310923070/c28c/cjCqKn_EGxE.jpg',
                          'photo_604': 'http://cs310923.vk.me/v310923070/c28d/IFtj16H-KwI.jpg',
                          'width': 604,
                          'height': 530,
                          'text': '',
                          'date': 1390533904,
                          'post_id': 88997
                        }
                      ]
                    }
                  }";

            FaveCategory cat = GetMockedFaveCategory(url, json);

            ReadOnlyCollection <Photo> photos = cat.GetPhotos(3, 1);

            photos.ShouldNotBeNull();
            photos.Count.ShouldEqual(2);

            photos[0].Id.ShouldEqual(263113261);
            photos[0].AlbumId.ShouldEqual(136592355);
            photos[0].OwnerId.ShouldEqual(1);
            photos[0].Photo75.ShouldEqual(new Uri("http://cs9591.vk.me/u00001/136592355/s_47267f71.jpg"));
            photos[0].Photo130.ShouldEqual(new Uri("http://cs9591.vk.me/u00001/136592355/m_dc54094a.jpg"));
            photos[0].Photo604.ShouldEqual(new Uri("http://cs9591.vk.me/u00001/136592355/x_3216ccc1.jpg"));
            photos[0].Photo807.ShouldEqual(new Uri("http://cs9591.vk.me/u00001/136592355/y_e10ee835.jpg"));
            photos[0].Photo1280.ShouldEqual(new Uri("http://cs9591.vk.me/u00001/136592355/z_a8fd75ba.jpg"));
            photos[0].Photo2560.ShouldEqual(new Uri("http://cs9591.vk.me/u00001/136592355/w_62aef149.jpg"));
            photos[0].Text.ShouldEqual("");
            photos[0].CreateTime.ShouldEqual(new DateTime(2011, 6, 9, 14, 14, 50, DateTimeKind.Utc).ToLocalTime());

            photos[1].Id.ShouldEqual(319770573);
            photos[1].AlbumId.ShouldEqual(-7);
            photos[1].OwnerId.ShouldEqual(-25397178);
            photos[1].UserId.ShouldEqual(100);
            photos[1].Photo75.ShouldEqual(new Uri("http://cs310923.vk.me/v310923070/c28b/VEtf7pX6MXM.jpg"));
            photos[1].Photo130.ShouldEqual(new Uri("http://cs310923.vk.me/v310923070/c28c/cjCqKn_EGxE.jpg"));
            photos[1].Photo604.ShouldEqual(new Uri("http://cs310923.vk.me/v310923070/c28d/IFtj16H-KwI.jpg"));
            photos[1].Width.ShouldEqual(604);
            photos[1].Height.ShouldEqual(530);
            photos[1].Text.ShouldEqual("");
            photos[1].PostId.ShouldEqual(88997);
            photos[1].CreateTime.ShouldEqual(new DateTime(2014, 1, 24, 7, 25, 4));
        }
Exemplo n.º 11
0
        public void GetPosts_NotExtended()
        {
            const string url  = "https://api.vk.com/method/fave.getPosts?count=3&offset=1&v=5.9&access_token=token";
            const string json =
                @"{
                    'response': {
                      'count': 3,
                      'items': [
                        {
                          'id': 45611,
                          'from_id': 1,
                          'to_id': 1,
                          'date': 1390260904,
                          'post_type': 'post',
                          'text': 'ВКонтакте взял новую высоту — 60 миллионов человек за сутки.',
                          'attachments': [
                            {
                              'type': 'photo',
                              'photo': {
                                'id': 320624027,
                                'album_id': -7,
                                'owner_id': 1,
                                'photo_75': 'http://cs7004.vk.me/c540101/v540101001/945b/6JwHSc5wLGg.jpg',
                                'photo_130': 'http://cs7004.vk.me/c540101/v540101001/945c/xxlEPKAyYXM.jpg',
                                'photo_604': 'http://cs7004.vk.me/c540101/v540101001/945d/jvCKTR8CAHg.jpg',
                                'photo_807': 'http://cs7004.vk.me/c540101/v540101001/945e/UUCwCY799wQ.jpg',
                                'width': 609,
                                'height': 556,
                                'text': '',
                                'date': 1390260965,
                                'access_key': '82b124d82eba43d66d'
                              }
                            }
                          ],
                          'post_source': {
                            'type': 'vk'
                          },
                          'comments': {
                            'count': 0,
                            'can_post': 0
                          },
                          'likes': {
                            'count': 81167,
                            'user_likes': 1,
                            'can_like': 0,
                            'can_publish': 1
                          },
                          'reposts': {
                            'count': 4364,
                            'user_reposted': 0
                          }
                        },
                        {
                          'id': 88997,
                          'from_id': -25397178,
                          'to_id': -25397178,
                          'date': 1390533904,
                          'post_type': 'post',
                          'text': 'Комплекс лучших упражнений на каждую группу мышц \n\nСПИНА \n- Подтягивания 4 подхода 8-12 повторений \n- Становая тяга 3-4 подхода 10-12 повторений \n\n- Тяга (Т-грифа или штанги в наклоне) 3-4 подхода 10-12 повторений \n- Горизонтальная тяга в блочном тренажере 4 подхода 10-12 повторений \n- Шраги со штангой 4 подхода 10-12 повторений \n\nГРУДЬ \n- Жим лёжа (штанги или гантелей) 4 подхода 10-12 повторений \n- Жим на наклонной (штанги или гантелей) 3-4 подхода 10-12 повторений \n- Отжимания на брусьях 4 подхода до отказа \n\nНОГИ \n- Приседания 4 подхода 10-12 повторений \n- Жим ногами 3-4 подхода 8-12 повторений \n- Разгибания ног в тренажере 4 подхода 10-12 повторений \n- Подъём на носки стоя 4 подхода 15 повторений \n- Подъём на носки сидя 3-4 подхода 12-15 повторений \n\nРУКИ \n- Жим лёжа узким хватом 4 подхода 10-12 повторений \n- Отжимания на брусьях 3-4 подхода 8-12 повторений (с доп весом) \n- Подъём штанги на бицепс 4 подхода 10-12 повторений \n- Молот 3-4 подхода 8-12 повторений \n- Армейский жим 3-4 подхода 8-12 повторений \n- Жим сидя 3-4 подхода 8-12 повторений\n- Разведение гантелей в наклоне 3-4 подхода 8-12 повторений \n\nПРЕСС \n- Скручивания 4 подхода 15-20 повторений \n- Косые скручивания 3-4 подхода 12-20 повторений \n- Подъём ног в висе 3-4 подхода 8-15 повторений\n\n#спорт@strog_pocan',
                          'attachments': [
                            {
                              'type': 'photo',
                              'photo': {
                                'id': 319770573,
                                'album_id': -7,
                                'owner_id': -25397178,
                                'user_id': 100,
                                'photo_75': 'http://cs310923.vk.me/v310923070/c28b/VEtf7pX6MXM.jpg',
                                'photo_130': 'http://cs310923.vk.me/v310923070/c28c/cjCqKn_EGxE.jpg',
                                'photo_604': 'http://cs310923.vk.me/v310923070/c28d/IFtj16H-KwI.jpg',
                                'width': 604,
                                'height': 530,
                                'text': '',
                                'date': 1390533904,
                                'post_id': 88997,
                                'access_key': 'bab83089cd5ffeb0f8'
                              }
                            }
                          ],
                          'post_source': {
                            'type': 'api'
                          },
                          'comments': {
                            'count': 0,
                            'can_post': 0
                          },
                          'likes': {
                            'count': 1397,
                            'user_likes': 1,
                            'can_like': 0,
                            'can_publish': 1
                          },
                          'reposts': {
                            'count': 565,
                            'user_reposted': 0
                          }
                        }
                      ]
                    }
                  }";

            FaveCategory cat = GetMockedFaveCategory(url, json);

            ReadOnlyCollection <Post> posts = cat.GetPosts(3, 1);

            posts.Count.ShouldEqual(2);

            posts[0].Id.ShouldEqual(45611);
            posts[0].FromId.ShouldEqual(1);
            posts[0].OwnerId.ShouldEqual(1);
            posts[0].Date.ShouldEqual(new DateTime(2014, 1, 21, 3, 35, 4));
            posts[0].PostType.ShouldEqual("post");
            posts[0].Text.ShouldEqual("ВКонтакте взял новую высоту — 60 миллионов человек за сутки.");
            posts[0].PostSource.Type.ShouldEqual("vk");
            posts[0].Comments.CanPost.ShouldEqual(false);
            posts[0].Comments.Count.ShouldEqual(0);
            posts[0].Likes.Count.ShouldEqual(81167);
            posts[0].Likes.UserLikes.ShouldEqual(true);
            posts[0].Likes.CanLike.ShouldEqual(false);
            posts[0].Likes.CanPublish.ShouldEqual(true);
            posts[0].Reposts.UserReposted.ShouldEqual(false);
            posts[0].Reposts.Count.ShouldEqual(4364);
            posts[0].Attachments.Count.ShouldEqual(1);

            var photo = posts[0].Attachments[0].Instance as Photo;

            photo.ShouldNotBeNull();
            photo.Id.ShouldEqual(320624027);
            photo.AlbumId.ShouldEqual(-7);
            photo.OwnerId.ShouldEqual(1);
            photo.Photo75.ShouldEqual(new Uri("http://cs7004.vk.me/c540101/v540101001/945b/6JwHSc5wLGg.jpg"));
            photo.Photo130.ShouldEqual(new Uri("http://cs7004.vk.me/c540101/v540101001/945c/xxlEPKAyYXM.jpg"));
            photo.Photo604.ShouldEqual(new Uri("http://cs7004.vk.me/c540101/v540101001/945d/jvCKTR8CAHg.jpg"));
            photo.Photo807.ShouldEqual(new Uri("http://cs7004.vk.me/c540101/v540101001/945e/UUCwCY799wQ.jpg"));
            photo.Width.ShouldEqual(609);
            photo.Height.ShouldEqual(556);
            photo.Text.ShouldEqual(string.Empty);
            photo.CreateTime.ShouldEqual(new DateTime(2014, 1, 21, 3, 36, 5));
            photo.AccessKey.ShouldEqual("82b124d82eba43d66d");
        }
Exemplo n.º 12
0
Arquivo: VkApi.cs Projeto: justloot/vk
        /// <summary>
        /// Инициализирует новый экземпляр класса <see cref="VkApi"/>.
        /// </summary>
        public VkApi()
        {
            Browser = new Browser();

            Users = new UsersCategory(this);
            Friends = new FriendsCategory(this);
            Status = new StatusCategory(this);
            Messages = new MessagesCategory(this);
            Groups = new GroupsCategory(this);
            Audio = new AudioCategory(this);
            Wall = new WallCategory(this);
            Database = new DatabaseCategory(this);
            Utils = new UtilsCategory(this);
            Fave = new FaveCategory(this);
            Video = new VideoCategory(this);
			Account = new AccountCategory(this);

            ApiVersion = "5.9";
        }
Exemplo n.º 13
0
 internal FaveCategoryExtended(FaveCategory faveCategory, VkApi vk)
 {
     _fave = faveCategory;
     _vk = vk;
 }