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();// Ждем нажатия клавиши интер, после чего приложение(консоль) закрывается.
}