web-dev-qa-db-ja.com

Facebook「いいね」ボタンのコールバック

Facebookの「いいね」ボタンの実装に興味がありますが、このボタンをクリックするユーザーを知りたいので、これから役立つ情報を入手できます。私が読んだことから、facebookは誰が何をクリックしているのかを暗示しています。どのユーザーが特定の製品の「いいね!」ボタンをクリックしたかを追跡する方法についてのアイデアはありますか?

更新:「いいね」ボタンは、iFrameまたはxFBMLを介してfacebookによってレンダリングされます。これが、誰が何をクリックしたかを追跡したり、onclickイベントなどを埋め込んだりするのが難しい理由です。

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

そのため、www.somewebsite.com/thisIsThePageIlike/facebookUIDのURLを使用して、ログインしている各ユーザーに固有のlikeボタンをレンダリングしました。

これは、いいねボタンを押して、Facebookの検索ランキングを台無しにするという目的に反しませんか?すべてのユーザーは異なるURLを好みます。そのため、facebookは、それぞれが1つのようなカウントを持つ多数のページがあると考えます。

Edge.createイベントが発生しないボタンのようなXFBMLの問題もあります

9
James

それでは、実装方法をお知らせします。私が取得したかったのは、facebook接続アプリ内の「いいね」ボタンをクリックするfacebookユーザーのUIDでした。ユーザーが「いいね」ボタンをクリックすると、facebookがボタンから渡されたURLをフェッチすることに気づいたので、www.somewebsite.com/thisIsThePageIlike/facebookUIDのURLを使用して、ログインしている各ユーザーに一意のいいねボタンをレンダリングしました。 。このURLを使用してWebサーバーにリクエストが届くと、コールバックのように機能し、ユーザーが「like」をクリックしたときにUIDを処理および記録します(つまり、「like」のレコードが存在しない場合)データベース内)。私のために働く。

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

それは私が私のクライアントのサイトのために持っているもののようなものでしょう

<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