Пользователи, кликнувшие по «Мне нравится» (likes.getList)

Только готовые уроки по использованию ВКонтакте API. Flash + PHP + API. НЕ IFrame!
bikerdimon
Сообщения: 42
Зарегистрирован: 03 июн 2012, 22:42

Re: Пользователи, кликнувшие по «Мне нравится» (likes.getList)

Сообщение bikerdimon »

Народ, подскажите пожалуйста как сделать можно вывод последних поставленных айди лайков . Тестировал Api на разных объектах, понял одно, там где мало лайков стоит выводит более менее последние, но на объектах, на которых стоит к примеру 40к лайков, мой айди показывает в середине списка, хотя я только поставил, как вывести последние к примеру 100 или более юидов пользователей?
Заранее спасибо и просьба не отвечать ссылками на другие источники, т.к. я читал и не нашел ответ
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45

Re: Пользователи, кликнувшие по «Мне нравится» (likes.getList)

Сообщение Александр »

bikerdimon
Первые 100 id из списка, который возвращает метод likes.getList - это последние 100 id, которые лайкнули запись. Разве не так?
Лайкнул объект - мой id вернулся первым в списке.
Аватара пользователя
Mihailow_du
Сообщения: 63
Зарегистрирован: 24 янв 2012, 18:26

Re: Пользователи, кликнувшие по «Мне нравится» (likes.getList)

Сообщение Mihailow_du »

А можете помочь с таким вопросом:

как мне получить список id пользователей кликнувших по "Мне нравится", причем не в виде:
Array ( [response] => Array ( [count] => 10 [users] => Array ( [0] => 9906027 [1] => 54323419 [2] => 26017508 [3] => 10104936 [4] => 24346878 [5] => 19240191 [6] => 5666988 [7] => 54941534 [8] => 146773407 [9] => 3517148 ) ) )
А нормальном массиве перебрав который я мог бы проверить каждый id на факт присутствия в группе.
Проще говоря моя задача взять все лайки с кнопки "Мне нравится" и подсчитать сколько из этих лайков поставили участники конкретной группы...
Помогите как это сделать??

Лайки получаю так:

Код: Выделить всё

<?    $res = file_get_contents('https://api.vk.com/method/likes.getList?type=sitepage&owner_id=2170107&item_id=22&page_url=http://vk.com/map4geo#mom_mom');    $resp = json_decode($res, true);     echo 'У участницы №22 стоит лайков: '.$resp['response']['count'].'<br><br>';//  echo '<br>Из них "чистых" голосов: <b>'.$resp['response']['count']['users'].'</b><br><br>';        print_r($resp);    ?>
И как мне преодолеть порог (ограничение) в 100 лайков??
Аватара пользователя
Mihailow_du
Сообщения: 63
Зарегистрирован: 24 янв 2012, 18:26

Re: Пользователи, кликнувшие по «Мне нравится» (likes.getList)

Сообщение Mihailow_du »

Такой вот вопрос: а как мне вытащить конкретный id ?

хочу перебрать все id и с каждым выполнить проверку, но не могу из этой строки :
Array ( [response] => Array ( [count] => 10 [users] => Array ( [0] => 9906027 [1] => 54323419 [2] => 26017508 [3] => 10104936 [4] => 24346878 [5] => 19240191 [6] => 5666988 [7] => 54941534 [8] => 146773407 [9] => 3517148 ) ) )
поочередно вытащить все id, пробывал и так:
echo 'id №5: '.$resp['response']['count']['user']['5'];
и так:
echo 'id №5: '.$resp['response']['count']['user']['5']['uid'];
и что то никак не получается... Помогите перебрать весь список? как это сделать??
Serge
WEB Team
WEB Team
Сообщения: 520
Зарегистрирован: 04 мар 2011, 21:55

Re: Пользователи, кликнувшие по «Мне нравится» (likes.getList)

Сообщение Serge »

Mihailow_du писал(а):и что то никак не получается... Помогите перебрать весь список? как это сделать??
foreach
Аватара пользователя
Mihailow_du
Сообщения: 63
Зарегистрирован: 24 янв 2012, 18:26

Re: Пользователи, кликнувшие по «Мне нравится» (likes.getList)

Сообщение Mihailow_du »

в общем как вывести список я понял и вывожу его так:

Код: Выделить всё

$res = file_get_contents('https://api.vk.com/method/likes.getList?type=sitepage&owner_id=2170107&item_id=2&page_url=http://vk.com/map4geo#mom_etap2');$resp = json_decode($res, true);echo 'Лайков: '.$resp['response']['count'];echo '<br>Список участников:<br>';     $end = $resp['response']['count'];    $i = 0;        while ( $i < $end ) {        echo ('<br>id '.$i.': '.$resp['response']['users'][$i]);        $i++;    }
Но мне выводит только последнюю сотню лайков, а как мне вывести все 150, 500 лайков ??

Вот фрагмент ответа:
...
id 94: 179005295
id 95: 90385738
id 96: 7884675
id 97: 21807489
id 98: 9204680
id 99: 71851839 Notice: Undefined offset: 100 in /home/mihailow_du/public_html/mom/momfoto3.php on line 47
id 100: Notice: Undefined offset: 101 in /home/mihailow_du/public_html/mom/momfoto3.php on line 47
id 101: Notice: Undefined offset: 102 in /home/mihailow_du/public_html/mom/momfoto3.php on line 47
id 102: Notice: Undefined offset: 103 in /home/mihailow_du/public_html/mom/momfoto3.php on line 47
...
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45

Re: Пользователи, кликнувшие по «Мне нравится» (likes.getList)

Сообщение Александр »

Mihailow_du
http://vk.com/developers.php?oid=-1&p=likes.getList
Параметр offset - смещение, относительно начала списка, для выборки определенного подмножества. Если параметр не задан, то считается, что он равен 0.
Параметр count - количество возвращаемых идентификаторов пользователей. Если параметр не задан, то считается, что он равен 100, если не задан параметр friends_only, в противном случае 10. Максимальное значение параметра 1000, если не задан параметр friends_only, в противном случае 100.

Установить count в 1000 и сделать несколько запросов, передавая offset.

$resp['response']['count'] - это общее количество лайков у записи, а не полученные в ответ. Не надо это использовать при обходе массива.
Аватара пользователя
Mihailow_du
Сообщения: 63
Зарегистрирован: 24 янв 2012, 18:26

Re: Пользователи, кликнувшие по «Мне нравится» (likes.getList)

Сообщение Mihailow_du »

Все я добился своего!!! Цель достигнута...
Может быть позже выложу свой скрипт как урок.
Не знаю будет кому такое интересно или нет...

У меня на странице (в приложении) проходил конкурс - голосование за фото. Всего на странице 38 фото и следовательно 38 кнопок "мне нравится".
Задача была отсеять накрутки и выбрать число лайков поставленные внутри приложения (а не внешние накрутки) и только от участников конкретной группы!!

Как думаете нужно такое тут писать??
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45

Re: Пользователи, кликнувшие по «Мне нравится» (likes.getList)

Сообщение Александр »

Mihailow_du писал(а):Как думаете нужно такое тут писать??
На форуме некоторые любят только любой готовый и рабочий код. Лишним не будет.
lodas
Сообщения: 7
Зарегистрирован: 01 дек 2012, 17:24

Re: Пользователи, кликнувшие по «Мне нравится» (likes.getList)

Сообщение lodas »

Здравствуйте, а если мне нужно получить список пользователей, кликнувших по моей ссылке(объявлению) размещенной в чужой группе. Возможно ли такое? Если возможно то в какую сторону копать?
Ответить