Метод
users.getSubscriptions() возвращает подписки юзера. Если user_id не указывать, вернёт ваши подписки. Вот такой нехитрый код в процедуре
execute() (прямо на
той странице его вставьте и «Выполните») вернёт два массива: ваши и его id групп:
var uid=12345;
return {
"my": API.users.getSubscriptions().groups.items,
"her": API.users.getSubscriptions({"user_id":uid}).groups.items
};
В первой строке задаётся id "того юзера", с кем сравнивать.
Эти два массива остаётся сопоставить. Можно в скретч-паде браузера выполнить следующий код:
var r =
{"response":.....} // тут целиком ответ из метода execute
; // и точка-с-запятой в конце.
var common = []; // сюда попадут id общих групп
for(var i=0;i<r.response.my.length;i++){
if( !!~r.response.her.indexOf( r.response.my[i]))
common.push(r.response.my[i]);
}
common; // если в Scratchpad Firefox'а нажать Ctrl+L,
// код выполнится а в коммент вставится содержание этого массива
Постил ли фотографии – надо просмотреть всю фото методом
photos.getAll(). Параметр owner_id – по очереди, каждой из общих групп. У каждой фотографии смотреть значение поля user_id – нужны только те, где оно равно искомому юзеру.
За один вызов метода можно получить до 200 фотографий, поэтому добавляем параметр count=200 и параметром offset листаем по 200 снимков вглубь истории. Можно опять методом execute зарядить сбор – так будет по 25*200 = 5000 фото за один вызов.