Подтвердить что ты не робот

Обратный вызов кнопки "Like" Facebook

Мне интересна реализация кнопки facebook "Like", но я хотел бы знать, что пользователь нажимает на эту кнопку, чтобы я мог получить полезную информацию из этого. Из того, что я прочитал, facebook оставляет нас в темноте, кто нажимает на что. У кого-нибудь есть идея о том, как я мог отслеживать, какой пользователь нажал на подобную кнопку для определенного продукта?

UPDATE: подобная кнопка отображается в facebook либо через iFrame, либо через xFBML. Вот почему трудно отслеживать, кто нажимает на что, или внедрять событие onclick и т.д.

4b9b3361

Ответ 1

<script>
  FB.Event.subscribe('edge.create', function(href, widget) {
    alert('You just liked the page!');
  });
</script>

Ответ 2

поэтому я просто сделал уникальную кнопку для каждого зарегистрированного пользователя с URL-адресом www.somewebsite.com/thisIsThePageIlike/facebookUID.

разве это не победит цель иметь подобную кнопку и испортить ваш рейтинг поиска в facebook? Каждому пользователю будет нравиться другой URL-адрес, и поэтому facebook подумает, что у вас есть тонна страниц, каждая из которых имеет одинаковый счет.

У меня также проблема с кнопками XFBML, в которых событие edge.create не запускается

Ответ 3

ОК, поэтому я могу сообщить, как я его реализовал. То, что я хотел получить, было UID пользователя facebook, нажимая кнопку "Мне нравится" внутри моего приложения для подключения facebook. Я заметил, что когда пользователь нажимает кнопку "как" , facebook извлекает URL-адрес, переданный ему с помощью кнопки, поэтому я просто сделал уникальную кнопку для каждого зарегистрированного пользователя с URL-адресом www.somewebsite.com/thisIsThePageIlike/facebookUID, Когда запрос поступает на веб-сервер с этим URL-адресом, он работает как обратный вызов, и я обрабатываю и записываю UID, если его первый раз пользователь нажал "как" (т.е. Запись этого "как" не существует в db). работает для меня.

Ответ 4

window.fbAsyncInit = function () {

    FB.Event.subscribe('edge.create', function (response) {
        alert('Liked');
        });
    }
    );
    FB.Event.subscribe('edge.remove', function (response) {
        alert('DisLiked')
    });
};

(function (d, s, id) {
    var js, fjs = d.getElementsByTagName(s)[0];
    if (d.getElementById(id))
        return;
    js = d.createElement(s);
    js.id = id;
    js.src = "//connect.facebook.net/en_US/sdk.js#xfbml=1&version=v2.7";
    fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));

HTML: -

<div id="fb-root"></div><div class="fb-like" data-href="https://www.facebook.com/testpage" data-layout="standard" data-action="like" data-size="small" data-show-faces="true"></div>

Ответ 5

Это будет что-то вроде того, что у меня есть для моего клиентского сайта, например

<iframe src="http://www.facebook.com/plugins/like.php?href=www.jesterkaraoke.com&amp;layout=standard&amp;show_faces=false&amp;width=450&amp;action=like&amp;colorscheme=light&amp;height=35" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height:35px;" allowTransparency="true"></iframe>