Парсинг лайков втентакле, и вывод целевой категории, блеянах

Что делать если среди лайкнувших пост хочется выбрать определенную категорию людей, а поиска по лайкнувшим, втентакль не предоставляет..

порылся в первый раз за последние несколько лет в vk.api и нашел решение этой проблемы. методы api используемые для этой цели:

получение идентификатора группы по её дисплейнейму

https://vk.com/dev/groups.getById

получение списка постов по идентификатору группы
https://vk.com/dev/wall.get

получение списка идентификаторов пользователей лайкнувших пост
https://vk.com/dev/likes.getList

получение выборочной информации о пользователях
https://vk.com/dev/users.get

с ресурсами определились. теперь лезим в консоль разработчика VK и создаем две функции. первая для получения идентификаторов постов

 

var a = API.groups.getById({"group_id":Args.groupName});
var group_id= a@.id[0];
var count= Args.postcount;
var offset = Args.offset;
var posts = API.wall.get({"owner_id":-group_id, "count":count, "offset":offset});

var i = count;
var OUT=[];

OUT.push({"groupID": group_id});
while (i>=0) 
{ 
    OUT.push({"id":posts.items[i].id, "text": posts.items[i].text});
    i=i-1;
};
return OUT;
//return posts.items[0].id;//@.id, posts.items@.text];
и воторая для фильтрации их по заданым критериям. в случае ниже по полу и городу
var group_id= Args.group_id;
var post_id = Args.post_id;
var offset = Args.offset;
var count = Args.count;
var sex = Args.sex;
var sity = Args.city;
var likes = API.likes.getList({"type":"post", 
"owner_id":group_id,
"item_id":post_id,
"extended":0,
"offset":offset,
"count":count
}).items;

var users =API.users.get({"user_ids":likes,"fields":"city, sex"});
var OUT=[];
var i=0;
while(i	< count)
{
    if(users[i].sex==1 )
    {
        if(users[i].city.title == Args.city)
        {
            OUT.push(users[i]);
        }
    }
    i=i+1;
}
return OUT;

Отлично. Молодец. Теперь можно пейсать и предлагать забухать

Добавить комментарий