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

Только готовые уроки по использованию ВКонтакте API. Flash + PHP + API. НЕ IFrame!

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

Сообщение Александр » 25 май 2011, 11:55

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

В этом уроке вы узнаете как работать с методом likes.getList. Узанете как отправить запрос серверу api с помощью официального класса для вызова серверных методом, как обработать полученный ответ.

likes.getList
Получает список идентификаторов пользователей, которые добавили заданный объект в свой список Мне нравится.
Данный метод может быть вызван без использования авторизационных данных (параметры session или access_token).

Параметры

type - тип Like-объекта. Подробнее о типах объектов можно узнать ниже.

owner_id - идентификатор владельца Like-объекта (id пользователя или id приложения). Если параметр type равен sitepage, то в качестве owner_id необходимо передавать id приложения. Если параметр не задан, то считается, что он равен либо идентификатору текущего пользователя, либо идентификатору текущего приложения (если type равен sitepage).

item_id - идентификатор Like-объекта. Если type равен sitepage, то параметр item_id может содержать значение параметра page_id, используемый при инициализации виджета «Мне нравится».

page_url - url страницы, на которой установлен виджет виджета «Мне нравится». Используется вместо параметра item_id.

friends_only - указывает, необходимо ли возвращать только пользователей, которые являются друзьями текущего пользователя. Параметр может принимать следующие значения:
0 – возвращать всех пользователей в порядке убывания времени добавления объекта
1 – возвращать только друзей текущего пользователя в порядке убывания времени добавления объекта
Если метод был вызван без авторизации или параметр не был задан, то считается, что он равен 0.

offset - смещение, относительно начала списка, для выборки определенного подмножества. Если параметр не задан, то считается, что он равен 0.

count - количество возвращаемых идентификаторов пользователей.
Если параметр не задан, то считается, что он равен 100, если не задан параметр friends_only, в противном случае 10.
Максимальное значение параметра 1000, если не задан параметр friends_only, в противном случае 100.



Список типов Like-объектов

На данный момент в API поддерживается работа со следующими типами Like-объектов, которые используются на основном сайте:

post - запись на стене пользователя или группы.
photo - фотография
audio - аудиозапись
video - видеозапись
sitepage - страница сайта, на котором установлен виджет «Мне нравится»

http://vkontakte.ru/developers.php?o=-1 ... A%F2%EE%E2


Файл vkapi.class.php - это официальный класс для вызова серверных методов (PHP).
Скачать его можно здесь http://vkontakte.ru/source/APIServerPHPClass.zip
vkapi.class.php нужно положить в папку с созданным php скриптом.

  1. <?
  2. /*
  3.  
  4.     http://flapps.ru/forum/ - форум о создании приложений
  5.  
  6. */
  7. require 'vkapi.class.php';
  8.  
  9. $api_id = '1942958';
  10. $secret_key = 'qweRtyuiop12asdFghjk';
  11.  
  12. $VK = new vkapi($api_id, $secret_key);
  13. $resp = $VK->api('likes.getList', array('type'=>'sitepage', 'owner_id'=>1942958, 'page_url'=>'http://flapps.ru/forum/'));
  14. // print_r($resp); // раскомментировать эту строку, чтобы увидеть ответ от сервера
  15.  
  16.  
  17. // сервер вернёт количество лайков (count) и список id пользователей, которые кликнули по Мне нравится
  18.  
  19. // выводим количество
  20. echo 'Количество лайков: '.$resp['response']['count'].'<br /><br />';
  21.  
  22. // первые 2 пользователя
  23. echo 'Первые 2 пользователя: '.$resp['response']['users'][0].', '.$resp['response']['users'][1].'<br /><br />';
  24.  
  25. echo 'Все пользователи: <br />';
  26. $fr = sizeOf($resp['response']['users']);
  27. for($i=0;$i<$fr;$i++){
  28.     echo $resp['response']['users'][$i].'<br />';
  29. }
  30. ?>


Это один из способов работы с методом likes.getList.
Если вы указывали page_id в своём виджите, то получить информацию можно по этому параметру, поставив его значение в item_id
Если вы используете api_id тот же самый, что и api_id при инициализации виджета, то указывать параметр owner_id не обязательно.
Чтобы узнать количество и список друзей пользователя, нужно испольовать параметр friends_only. При этом пользователю нужно пройти авторизацию (параметры session или access_token).

Читайте более подробное описание в официальной документации http://vkontakte.ru/developers.php?o=-1&p=likes.getList

За это сообщение автора Александр поблагодарили - 2:
Saldanet, ukhov
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
 
Сообщения: 3736
Зарегистрирован: 27 сен 2009, 17:45
Откуда: Санкт-Петербург
Благодарил (а): 113 раз.
Поблагодарили: 541 раз.

Чтобы убрать блок с рекламой, зарегистрируйтесь на форуме или войдите.

Google
 


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

Сообщение Saldanet » 08 авг 2011, 06:50

Здравствуйте. Я тут новенький и, наверное, чего-то не понимаю, но данный метод возвращает только id юзеров? А как добиться того, чтобы возвращалось имя, фамилия, а вместе с ними и ссылка на профайл пользователя? Заранее спасибо за ответ.
Saldanet

 
Сообщения: 2
Зарегистрирован: 08 авг 2011, 06:45
Благодарил (а): 1 раз.
Поблагодарили: 0 раз.

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

Сообщение bodnar » 08 авг 2011, 16:53

применить метод getProfiles
Обязательно к прочтению: ActionScript 3.0 Ошибки среды выполнения
Аватара пользователя
bodnar
Модератор
Модератор
 
Сообщения: 1349
Зарегистрирован: 03 апр 2010, 07:41
Благодарил (а): 15 раз.
Поблагодарили: 136 раз.

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

Сообщение Saldanet » 08 авг 2011, 18:11

Но с ним же ссылка не выйдет или я что-то путаю?
Saldanet

 
Сообщения: 2
Зарегистрирован: 08 авг 2011, 06:45
Благодарил (а): 1 раз.
Поблагодарили: 0 раз.

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

Сообщение bodnar » 08 авг 2011, 18:48

какая ссылка? ты знаешь id пользователя, составить строку http://vkontakte.ru/id12345 когда 12345 ты знаешь сложно?
Обязательно к прочтению: ActionScript 3.0 Ошибки среды выполнения
Аватара пользователя
bodnar
Модератор
Модератор
 
Сообщения: 1349
Зарегистрирован: 03 апр 2010, 07:41
Благодарил (а): 15 раз.
Поблагодарили: 136 раз.

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

Сообщение KonstantinGreat » 09 дек 2011, 14:30

использую данный код, но ничего не выводится, поля массивов пустые:( может кто подскажет, что делать
KonstantinGreat

 
Сообщения: 3
Зарегистрирован: 09 дек 2011, 14:25
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

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

Сообщение Александр » 09 дек 2011, 21:37

KonstantinGreat
Убедись что верно передаешь все параметры.
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
 
Сообщения: 3736
Зарегистрирован: 27 сен 2009, 17:45
Откуда: Санкт-Петербург
Благодарил (а): 113 раз.
Поблагодарили: 541 раз.

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

Сообщение KonstantinGreat » 11 дек 2011, 02:05

Александр
подключил сайт через http://vkontakte.ru/ (выставил галочку как приложение, а не как игра), поставил виджет 'Мне нравится' на страницу, использую код данной темы и файл для класса(предложенный тут же). But Nothing is working :( .
листинг страницы, которая находится на запрашиваемом url:

  1. <html xmlns="http://www.w3.org/1999/xhtml">
  2. <head>
  3. <script type="text/javascript" src="http://userapi.com/js/api/openapi.js?45"></script>
  4. <script type="text/javascript">
  5.   VK.init({apiId: 2713129, onlyWidgets: true});
  6. </script>
  7. </head>
  8. <body >
  9.  
  10. <div id="vk_like"></div>
  11. <script type="text/javascript">
  12. VK.Widgets.Like("vk_like", {type: "full"});
  13. </script>
  14. <?
  15. require 'vkapi.class.php';
  16.  
  17. $api_id = '2713129';
  18. $secret_key = 'hDziuj76u29Kj2oOCoKX';
  19.  
  20. $VK = new vkapi($api_id, $secret_key);
  21. $resp = $VK->api('likes.getList', array('type'=>'sitepage', 'owner_id'=>2713129, 'page_url'=>'http://likeyou.9pn.ru/'));
  22.  
  23. echo 'Number of likes: '.$resp['response']['count'].'<br /><br />';
  24. if($resp['response']['count']==NULL)
  25.     echo "no likes".'<br />';
  26. echo 'users: '.$resp['response']['users'].'<br />';
  27. if($resp['response']['users']==NULL)
  28.     echo 'fuck off with users';
  29. ?>
  30. </body>
  31. </html>


очень надо считать эти клики в другом месте, надеюсь на помощь, или посоветуйте как воспользоваться запросами через JS в стиле VK.Api.call(), только не отправляйте на 3 буквы и на сайт вконтакте для ознакомления с мануалами, заранее благодарен
KonstantinGreat

 
Сообщения: 3
Зарегистрирован: 09 дек 2011, 14:25
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

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

Сообщение Александр » 11 дек 2011, 16:05

KonstantinGreat
Вот эту строчку напиши
  1. print_r($resp); // раскомментировать эту строку, чтобы увидеть ответ от сервера

Что выводит?
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
 
Сообщения: 3736
Зарегистрирован: 27 сен 2009, 17:45
Откуда: Санкт-Петербург
Благодарил (а): 113 раз.
Поблагодарили: 541 раз.

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

Сообщение KonstantinGreat » 11 дек 2011, 17:31

Александр
пишет 1ку, причем в предложенном вами синтаксисе ничего не пишет, а вот в таком

пишет.
KonstantinGreat

 
Сообщения: 3
Зарегистрирован: 09 дек 2011, 14:25
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

След.

Вернуться в Уроки по использованию ВКонтакте API



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0