Параметры запроса likes.getList
示例#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<long> GetList(LikesGetListParams @params, bool skipAuthorization = true)
		{
		    @params.Extended = false;
			VkResponseArray response = _vk.Call("likes.getList", @params, skipAuthorization);

            return response.ToReadOnlyCollectionOf<long>(x => x);
		}
示例#3
0
		/// <summary>
		/// Привести к типу VkParameters.
		/// </summary>
		/// <param name="p">Параметры.</param>
		/// <returns></returns>
		internal static VkParameters ToVkParameters(LikesGetListParams p)
		{
			var parameters = new VkParameters
				{
					{ "type", p.Type },
					{ "owner_id", p.OwnerId },
					{ "item_id", p.ItemId },
					{ "page_url", p.PageUrl },
					{ "filter", p.Filter },
					{ "friends_only", p.FriendsOnly },
					{ "extended", true },
					{ "offset", p.Offset },
					{ "skip_own", p.SkipOwn }
				};
			if (p.FriendsOnly.HasValue && p.FriendsOnly.Value)
			{
				if (p.Count <= 100)
				{
					parameters.Add("count", p.Count);
				}
			} else
			{
				if (p.Count <= 1000)
				{
					parameters.Add("count", p.Count);
				}
			}

			return parameters;
		}
示例#4
0
		public ReadOnlyCollection<long> GetList(LikesGetListParams @params)
		{


			VkResponseArray response = _vk.Call("likes.getList", @params);

			return response.ToReadOnlyCollectionOf<long>(x => x);
		}
示例#5
0
		public UserOrGroup GetListEx(LikesGetListParams @params)
		{
            @params.Extended = true;
            return _vk.Call("likes.getList", @params, true);
		}
示例#6
0
文件: LikesCategory.cs 项目: vknet/vk
 /// <summary>
 /// Получает список идентификаторов пользователей или сообществ, которые добавили заданный объект в свой список Мне нравится.
 /// </summary>
 /// <param name="params">Параметры запроса.</param>
 /// <param name="skipAuthorization">Если <c>true</c>, то пропустить авторизацию</param>
 /// <returns>
 /// Возвращает список идентификаторов пользователей или сообществ, которые добавили заданный объект в свой список Мне нравится.
 /// </returns>
 /// <remarks>
 /// Страница документации ВКонтакте <see href="http://vk.com/dev/likes.getList"/>.
 /// </remarks>
 public VkCollection<long> GetList(LikesGetListParams @params, bool skipAuthorization = false)
 {
     @params.Extended = false;
     return _vk.Call("likes.getList", @params, skipAuthorization).ToVkCollectionOf<long>(x => x);
 }