Список параметров для метода photos.get
예제 #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<Photo> Get(out int count, PhotoGetParams @params)
        {
            var response = Get(@params);

            count = Convert.ToInt32(response.TotalCount);;

            return response.ToReadOnlyCollection();
        }
예제 #3
0
        /// <summary>
        /// Привести к типу VkParameters.
        /// </summary>
        /// <param name="p"> Параметры. </param>
        /// <returns> </returns>
        public static VkParameters ToVkParameters(PhotoGetParams p)
        {
            var parameters = new VkParameters
            {
                { "owner_id", p.OwnerId }
                , { "album_id", p.AlbumId }
                , { "photo_ids", p.PhotoIds }
                , { "rev", p.Reversed }
                , { "extended", p.Extended }
                , { "feed_type", p.FeedType }
                , { "feed", p.Feed }
                , { "photo_sizes", p.PhotoSizes }
                , { "offset", p.Offset }
                , { "count", p.Count }
            };

            return(parameters);
        }
예제 #4
0
파일: PhotoGetParams.cs 프로젝트: kadkin/vk
		/// <summary>
		/// Привести к типу VkParameters.
		/// </summary>
		/// <param name="p">Параметры.</param>
		/// <returns></returns>
		internal static VkParameters ToVkParameters(PhotoGetParams p)
		{
			var parameters = new VkParameters
			{
				{ "owner_id", p.OwnerId },
				{ "album_id", p.AlbumId },
				{ "photo_ids", p.PhotoIds },
				{ "rev", p.Reversed },
				{ "extended", p.Extended },
				{ "feed_type", p.FeedType },
				{ "feed", p.Feed },
				{ "photo_sizes", p.PhotoSizes },
				{ "offset", p.Offset },
				{ "count", p.Count }
			};

			return parameters;
		}
예제 #5
0
 public ReadOnlyCollection<Photo> Get(out int count, PhotoGetParams @params)
 {
     var response = _vk.Call("photos.get", @params);
     count = response["count"];
     return response.ToReadOnlyCollectionOf<Photo>(x => x);
 }