web-dev-qa-db-fra.com

Rappel du bouton «J'aime» de Facebook

Je suis intéressé à implémenter le bouton "J'aime" de Facebook, mais je voudrais savoir quel utilisateur clique sur ce bouton afin que je puisse en obtenir des informations utiles. D'après ce que j'ai lu, facebook nous laisse dans le noir sur qui clique sur quoi. N'importe qui a une idée sur la façon dont je pourrais suivre quel utilisateur a cliqué sur un bouton similaire pour un produit particulier?

MISE À JOUR: Le bouton similaire est rendu par Facebook soit via un iFrame, soit via xFBML. C'est pourquoi il est difficile de suivre qui clique sur quoi, ou d'incorporer un événement onclick, etc.

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

j'ai donc simplement rendu un bouton unique pour chaque utilisateur connecté avec une URL www.somewebsite.com/thisIsThePageIlike/facebookUID.

cela ne va-t-il pas à l'encontre du but d'avoir un bouton J'aime et de gâcher votre classement de recherche Facebook? Chaque utilisateur aimera une URL différente et Facebook pensera donc que vous avez une tonne de pages chacune avec un seul compte.

J'ai également un problème avec les boutons de type XFBML où l'événement Edge.create ne se déclenche pas

9
James

OK, donc je peux vous dire comment je l'ai implémenté. Ce que je voulais obtenir, c'était l'UID de l'utilisateur Facebook en cliquant sur le bouton "J'aime" dans mon application de connexion Facebook. J'ai remarqué qu'un utilisateur clique sur le bouton "J'aime", Facebook récupère l'URL qui lui est transmise à partir du bouton, j'ai donc simplement rendu un bouton J'aime unique pour chaque utilisateur connecté avec une URL www.somewebsite.com/thisIsThePageIlike/facebookUID . Lorsqu'une demande arrive sur le serveur Web avec cette URL, cela fonctionne comme un rappel et je traite et enregistre l'UID si c'est la première fois qu'un utilisateur clique sur "j'aime" (c'est-à-dire ... un enregistrement de ce "j'aime" n'existe pas dans la base de données). travaille pour moi.

6
Matt
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>
1
Kamal Kumar

Ce serait quelque chose comme celui que j'ai pour le site de mon client tel que

<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>
0
Simon