Список друзей, не установивших приложение
Re: Список друзей, не установивших приложение
Как вывести друзей которые установили приложение?
- Mihailow_du
- Сообщения: 63
- Зарегистрирован: 24 янв 2012, 18:26
Re: Список друзей, не установивших приложение
Тоже хочу это найти!!!ToresMax писал(а):Как вывести друзей которые установили приложение?
Только что бы массив всех друзей забился на два списка (два столбца):
в одном перечень тех кто в приложении, а в соседнем кто еще не поставил...
Re: Список друзей, не установивших приложение
Это не искать надо, а взять и сделать. В этом уроке все подробно расписано, как получить список всех друзей и список друзей в приложении, как вычеркнуть из общего списка тех, кто установил приложение.Mihailow_du писал(а):Тоже хочу это найти!!!ToresMax писал(а):Как вывести друзей которые установили приложение?
Только что бы массив всех друзей забился на два списка (два столбца):
в одном перечень тех кто в приложении, а в соседнем кто еще не поставил...
-
- Сообщения: 188
- Зарегистрирован: 07 ноя 2011, 10:51
Re: Список друзей, не установивших приложение
Щас выложуToresMax писал(а):Как вывести друзей которые установили приложение?
-
- Сообщения: 17
- Зарегистрирован: 12 ноя 2012, 08:07
Re: Список друзей, не установивших приложение
Интересует вопрос, писал скрипт для вывода аватарки пользователя, имени и фамилии, друзей которые не установили, и отдельно друзей которые установили приложение. Получилось только: аватарка, имя, фамилия, друзья которые не установили. При попытке прикрутить в этот же скрипт, друзей,которые установили приложении, то он, отказывается работать. Вот скрипт: Думаю что где-то переменные повторяются, только не могу найти где именно. Надеюсь на Вашу помощь.
Код: Выделить всё
window.onload = (function() { VK.init(function() { // узнаём flashVars, переданные приложению GET запросом. Сохраняем их в переменную flashVars var _parts=document.location.search.substr(1).split("&"); var _flash_Vars={}, _curr; for (i=0; i<_parts.length; i++) { _curr = _parts[i].split('='); // записываем в массив flashVars значения. Например: flashVars['viewer_id'] = 1; _flash_Vars[_curr[0]] = _curr[1]; } // получаем viewer_id из полученных переменных var viewer_iid = _flash_Vars['viewer_id'];VK.api("users.get", {uids:viewer_iid,fields:"photo_medium"}, function(_data) { // обрабатываем полученные данные // выводим имя и фамилию в блок user_info document.getElementById('user__info').innerHTML = _data.response[0].first_name + ' ' + _data.response[0].last_name + '<br />'; // создаем img, для отображения аватарки var image=document.createElement('img'); // из полученных данных берем ссылку на фото image.src=_data.response[0].photo_medium; // добавляем img в блок user_info user_info.appendChild(image); }); // выполняем запрос получения списка друзей VK.api("friends.get", {}, function(dataAllFriends) { // после получения списка друзей, выполняем запрос получения списка друзей установивших приложение VK.api("friends.getAppUsers", {}, function(dataAppUsers) { // узнаем количество друзей var frCount = dataAllFriends.response.length; // количество установивших приложение var appCount = dataAppUsers.response.length; // создаём массив друзей, которые не установили приложение var noApp = dataAllFriends.response; // cначала записываем всех друзей в массив, дальше будем удалять из него установивших var App = dataAppUsers.response; if (appCount<frCount) { // если все друзья установили, то нет смысла и проверять // кол-во установивших приложение никогда не будет больше чем общее количество друзей, поэтому в первом цикле будем пробегаться по массиву установивших for (i=0;i<appCount;i++) { for(j=0;j<frCount;j++){ // если нашли в массиве всех друзей тот, который в списке установивших - удаляем if (dataAppUsers.response[i]==noApp[j]) { // вырезаем такой id noApp.splice(j,1); // прерываем цикл. Перебирать дальше нет смысла. break; } } } } // теперь в массиве noApp храняться id друзей, которые не установили приложение var noAppCount = noApp.length; document.getElementById('uids_count').innerHTML = 'друзья которые не установили: ' + noAppCount; // выведем ссылки на профили трех из этих пользователей // смысл получать профили есть только если массив пользователей не пустой if (noAppCount>0) { // если не установили приложение менее 4х друзей, то выведем только их if (noAppCount<2) { // просто превращаем массив пользователей в строку var noAppUids = noApp.join(','); } else { // выбираем случайных трёх, причем исключаем вероятность выбора одного и того же пользователя // сделаем это так: выберем одного и удалим его из массива и т.д. var uidCount = 1; // количество профилей var uidArr = []; // в этот массив запишем id for (i=0;i<uidCount;i++) { var max = noApp.length-1; var rand = Math.floor(Math.random()*max); uidArr.push(noApp[rand]); noApp.splice(rand,1); } // превращаем массив в строку noAppUids = uidArr.join(','); } var ApppCount = Appp.length; document.getElementById('uids_count_vigre').innerHTML = 'Которые установили: ' + ApppCount; if (ApppCount>0) { if (ApppCount<4) { var ApppUids = Appp.join(','); } else { var uidpCount = 20; var uidpArr = []; for (i=0;i<uidpCount;i++) { var pmax = Appp.length-1; var prand = Math.floor(Math.random()*pmax); uidpArr.push(Appp[prand]); Appp.splice(rand,1); } ApppUids = uidpArr.join(','); } VK.api("getProfiles", {uids:noAppUids,fields:"photo_rec"}, function(data) { // узнаем количество полученных профилей var profilesCount = data.response.length; // в эту переменную запишем html код для вывода списка пользователей var profilesStr = ''; for (var i=0; i<profilesCount; i++) { profilesStr += '<a href="http://vk.com/id' + data.response[i].uid + '" title="' + data.response[i].first_name + ' ' + data.response[i].last_name + '" target="_blank"><img src="' + data.response[i].photo_rec + '" /></a> '; } document.getElementById('friends_list').innerHTML = profilesStr; // var pprofilesCount = pdata.response.length; var pprofilesStr = ''; for (var i=0; i<pprofilesCount; i++) { pprofilesStr += '<a href="http://vk.com/id' + pdata.response[i].uid + '" title="' + pdata.response[i].first_name + ' ' + pdata.response[i].last_name + '" target="_blank"><img src="' + pdata.response[i].photo_rec + '" /></a> '; } document.getElementById('friends_list_vigre').innerHTML = pprofilesStr; }); } }); }); });});
Re: Список друзей, не установивших приложение
Minimalgift
если нажать F12 (в Хроме так точно) - откроется консоль ошибок.
Смутно подозреваю, что в яваскрипте нельзя начинать имя переменной с нижнего подчеркивания. А так в целом не смотрел, но Вам бы сначала разобраться, что вообще происходит, а не просто скопировать и переименовать.
если нажать F12 (в Хроме так точно) - откроется консоль ошибок.
Смутно подозреваю, что в яваскрипте нельзя начинать имя переменной с нижнего подчеркивания. А так в целом не смотрел, но Вам бы сначала разобраться, что вообще происходит, а не просто скопировать и переименовать.
-
- Сообщения: 17
- Зарегистрирован: 12 ноя 2012, 08:07
Re: Список друзей, не установивших приложение
Serge
С нижним подчеркиванием все работает (вывод аватарки,имени,фамилии, список друзей которые не установили приложение). Ошибка возникает при подключении вывода людей которые установили приложение. Высвечивания ошибок для .js нет в браузере. Конфликт происходит скорее всего с одинаковыми переменными/функциями, которые я не могу найти и заменить имена.
С нижним подчеркиванием все работает (вывод аватарки,имени,фамилии, список друзей которые не установили приложение). Ошибка возникает при подключении вывода людей которые установили приложение. Высвечивания ошибок для .js нет в браузере. Конфликт происходит скорее всего с одинаковыми переменными/функциями, которые я не могу найти и заменить имена.
Re: Список друзей, не установивших приложение
Minimalgift
Ошибка тут, переменной Appp не существует.
Я бы вообще делал по-другому...
Сделать запрос к ВК за всеми френдами, потом за теми что установили приложение (ничего пока не меняется), а потом просто выводить инфо о них в разные блоки, в зависимости от того, уид в одном массиве или в обоих.
Код: Выделить всё
var ApppCount = Appp.length;
Я бы вообще делал по-другому...
Сделать запрос к ВК за всеми френдами, потом за теми что установили приложение (ничего пока не меняется), а потом просто выводить инфо о них в разные блоки, в зависимости от того, уид в одном массиве или в обоих.
-
- Сообщения: 17
- Зарегистрирован: 12 ноя 2012, 08:07
Re: Список друзей, не установивших приложение
Serge
Спасибо, попробую.
Спасибо, попробую.
-
- Сообщения: 17
- Зарегистрирован: 12 ноя 2012, 08:07
Re: Список друзей, не установивших приложение
Все, настроил скрипт для вывода тех кто не установил, тех кто установил и вывод данных о пользователе. Если кому надо - могу скинуть.