Как узнать количество like и share в социальных сетях

Анастасия

Как узнать количество like и share в социальных сетях

В посте приведены куски кода, позволяющие узнать количество лайков в facebook'e и вконтакте, количество твитов и нажатий кнопки google +1. Они используются для подсчета рейтинга репетиторов на сайте бесплатного подбора репетитора http://uralteacher.ru.

1. Код для вставки кнопки для голосований ВКонтакте: 

<div id="vk_like"></div>
<script type="text/javascript">
  VK.Widgets.Like("vk_like", {type: "button"}, "[id страницы]");
</script>

Код, позволяющий узнать количество голосов:

VK.Share = {};
VK.Share.count = function(index, count){
     if(count)
          $.getJSON('...?rating=vk&ratingvalue=' + count);
};
$.getJSON('http://vkontakte.ru/share.php?act=count&index=1&url=' + pageuri + '&format=json&callback=?');

Значение, которое возвращает ВКонтакте программно часто различается от того, что он показывает на кнопке. Бывает показывает 0, а программно стабильно отвечает, что есть 3 голоса. Бывает, что на кнопке 11 голосов, а программно возвращает один. Есть версия, что во втором случае показываются только голоса, которые нажали галочку "Рассказать друзьям". А от куда берутся несуществующие голоса - не понятно. Если кто-то знает решение, пожалуйста, пишите в комментарии.

С остальными социальными сетями все проще.

2. Код для вставки кнопки facebook:

<iframe src="http://www.facebook.com/plugins/like.php?app_id=231505923542544&href=[url страницы]&send=false&layout=button_count&width=450&show_faces=true&action=like&colorscheme=light&font&height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:150px; height:21px;" allowTransparency="true"></iframe>

Количество лайков в facebook'e:

$.getJSON('http://api.facebook.com/restserver.php?method=links.getStats&callback=?&urls=' + pageuri + '&format=json', function(data) {
  rating_fb=data[0].like_count+data[0].share_count;
  if(rating_fb)
      	$.getJSON('...?&rating=fb&ratingvalue=' + rating_fb);
    });

3. Кнопка twitter:

<a href="http://twitter.com/share" class="twitter-share-button" data-count="horizontal" data-via="uralteacher_ru">Голосовать</a>
<script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>

Узнать количество твитов:

$.getJSON('http://urls.api.twitter.com/1/urls/count.json?url=' + pageuri + '&callback=?', function(data) {
    if(data.count)
          $.getJSON('...?rating=tv&ratingvalue=' + data.count);
});

4. Кнопка Google +1:

<script type="text/javascript" src="https://apis.google.com/js/plusone.js">
  {lang: 'ru'}
</script>
<div><g:plusone callback="countgoogle"></g:plusone></div>

Узнать количество нажатий на кнопку нельзя, то можно обрабатывать событие нажатия +1, и отмену нажатия:

function countgoogle(obj){
   if(obj.state){ //+1
        $.getJSON('...?rating=g&ratingvalue=1');
   }else{ // отмена нажатия
     	$.getJSON('...?rating=g&ratingvalue=-1');
   }              	
}

Похожие записи

00:19:42 04.09.2011
sn
ВКонтакте
проблема с лайками вконтакте решена: http://creograf.ru/post/vk-likes
01:41:34 13.10.2011
Zevai
По гугл+1 узнать количество можно, но решение неофициальное http://www.tomanthony.co.uk/blog/google_plus_one_button_seo_count_api/ Но пока не выйдет официальная поддержка можно и это использовать, хотя бы для контроля (в приведенном у вас варианте не получится отследить удаление отметки пользователем прямо у себя в профиле)
18:25:09 13.10.2011
Zevai
Хотя еще отсюда можно выдрать: https://plusone.google.com/u/0/_/+1/fastbutton?count=true&url=http://www.google.com/
14:28:06 13.11.2012
sergunik
http://sergunik.name/?p=799 – vkontakte, facebook, twitter, google
17:29:19 28.03.2013
Flapjack
Спасибо, помогло с твиттером

Вы можете оставить
комментарий



    
© 2002-2016 Креограф. Все права защищены законом РФ
 Русский /  English