Список параметров для метода photos.getAlbums
Пример #1
1
        static void Main(string[] args)
        {
            int appID = 5293954;  //id приложения, который выдается при регистрации приложения в ВК
            string login = "******";// логин и пороль пользователя
            string password = "******";  // в целях безопасности моей страницы в ВК, пороль не настоящий
            Settings scope = Settings.Groups;
            var vk = new VkApi();
            vk.Authorize(appID, login, password, scope); // авторизация --> documentation https://vknet.github.io/vk/authorize/

            int outCount;
            Group embassyUSA = vk.Groups.Search("Посольство США в Беларуси", out outCount).First();// получаем данные о группе

            PhotoGetAlbumsParams param = new PhotoGetAlbumsParams();
            param.OwnerId = embassyUSA.Id * (-1); // индентификатор группы, для полуния ее альбомов (умножен на -1, так как cказано в документации API -> https://vknet.github.io/vk/photos/getAlbums/)
            param.Count = 7;
            int count = 0;
            var albums = vk.Photo.GetAlbums(out count, param);// получаем все альбомы

            var selfieAlbum = albums.Where(x => x.Title == "Selfie Contest").First(); // выбираем альбом по названию, в котором фото учасников

            PhotoGetParams photoParam = new PhotoGetParams();
            photoParam.OwnerId = embassyUSA.Id * (-1); // индентификатор группы, для полуния ее альбомов (умножен на -1, так как cказано в документации API -> https://vknet.github.io/vk/photos/get/)
            photoParam.AlbumId = PhotoAlbumType.Id(selfieAlbum.Id); // тут указываем, индентификатор альбома, фотографии которого нам нужны
            photoParam.Extended = true;
            photoParam.Count = 82;
            var selfiePhotos = vk.Photo.Get(out count, photoParam);// получаем список фотографий

            int number = 1;// счетчик номера фотографии
            foreach (var photo in selfiePhotos)//перебираем фотографии по одной, начиная с первой
            {
                LikesGetListParams listParam = new LikesGetListParams();
                listParam.Count = 500;
                listParam.ItemId = photo.Id.Value; //берем индентификатор текущей фотографии
                listParam.Type = LikeObjectType.Photo;
                listParam.Filter = LikesFilter.Likes; // говорим, что хотим получить информацию о лайках пользователей
                listParam.OwnerId = embassyUSA.Id * (-1); // указываем индентификатор владельца фотографи, т. е. вашей группы
                var users = vk.Likes.GetList(listParam); // получаем список пользователей лайкнувших данную фотографию --> documentation https://vknet.github.io/vk/likes/getList/

                int inGroup = 0; // счетчик для количества, лайкнувших текущую фотографию, пользователей, которые состоят в группе.
                foreach (var id in users)//перебираем пользователей, лайкнувших текущую фотографию, по одному, начиная с первого
                {
                    Thread.Sleep(400);// приостанавливаем программу на 0.4 секунды, так как есть ограничение на количество запросов к Вконтакте в секунду.
                    if (vk.Groups.IsMember(embassyUSA.Id, id))//проверяем состоит ли текущий пользователь в группе --> documentation https://vknet.github.io/vk/groups/isMember/
                    {
                        inGroup = inGroup + 1; // если состоит, увеличиваем счетчик на 1
                    }
                }

                Console.WriteLine(String.Format("{0}    Likes - {1}      InGroup - {2} ", number, users.Count, inGroup)); // Отображаем информациию на консоль.
                number++;
            }
            Console.ReadLine();// Ждем нажатия клавиши интер, после чего приложение(консоль) закрывается.
        }
Пример #2
0
        public ReadOnlyCollection<PhotoAlbum> GetAlbums(out int count, PhotoGetAlbumsParams @params)
        {
            var response = GetAlbums(@params);

            count = Convert.ToInt32(response.TotalCount);

            return response.ToReadOnlyCollection();
        }
Пример #3
0
		/// <summary>
		/// Привести к типу VkParameters.
		/// </summary>
		/// <param name="p">Параметры.</param>
		/// <returns></returns>
		internal static VkParameters ToVkParameters(PhotoGetAlbumsParams p)
		{
			var parameters = new VkParameters
			{
				{"owner_id", p.OwnerId},
				{"album_ids", p.AlbumIds},
				{"offset", p.Offset},
				{"count", p.Count},
				{"need_system", p.NeedSystem},
				{"need_covers", p.NeedCovers},
				{"photo_sizes", p.PhotoSizes}
			};

			return parameters;
		}
Пример #4
0
 public ReadOnlyCollection<PhotoAlbum> GetAlbums(out int count, PhotoGetAlbumsParams @params)
 {
     var response = _vk.Call("photos.getAlbums", @params);
     count = response["count"];
     return response["items"].ToReadOnlyCollectionOf<PhotoAlbum>(x => x);
 }