質問

XFBMLを介してレンダリングされている自分のボタンのようなFacebookのようなボタンがいくつかあります。それらをクリックした後、彼らは標準のようなようなボタンから「Thumbs Up」アイコンに「あなたはこれが好きだ」と書かれたアイコンに変更されるという点で働いているように見えます。ただし、1、2秒後に(FBのサーバーをヒットして戻ってくるのに時間がかかると仮定します)、自動的に自動的に解き放ち、オリジナルのようなボタンに戻ります。

ここで私が意味することのビデオを参照してください。

私のコードはかなり標準です:

<html xmlns="http://www.w3.org/1999/xhtml" xmlns:fb="http://www.facebook.com/2008/fbml" lang="en">

...

<fb:like href="http://www.example.com/valid/path" layout="button_count" ref="recipe_preview" />

...

<script type="text/javascript">
    window.fbAsyncInitExt = function() {
        FB.Event.subscribe('edge.create', function(response) {
            alert('Facebook Like Button: ' + response);
        });
    };
</script>

...

<div id="fb-root"></div>
<script type="text/javascript"> 
    window.fbAsyncInit = function() {
        FB.init({
            appId:  'XXXXXXXXXX',  // my app ID is here
            status: true,
            cookie: true,
            xfbml:  true
        });
        if (typeof(fbAsyncInitExt) == 'function') {
            fbAsyncInitExt();
        }
    };
    (function() {
        var e = document.createElement('script');
        e.type = 'text/javascript';
        e.src = document.location.protocol + '//connect.facebook.net/en_US/all.js';
        e.async = true;
        document.getElementById('fb-root').appendChild(e);
    })();
</script> 

編集: それが価値があることについては、Facebookがログ情報を送信しているかどうかを確認しようとしましたが、次のように見えませんでした。

<script type="text/javascript">
    window.fbAsyncInitExt = function() {
        FB.Event.subscribe('edge.create', function(response) {
            alert('Facebook Like Button: ' + response);
            console.debug(response);
        });
        FB.Event.subscribe('fb.log', function(response) {
            alert('LOG: ' + response);
            console.debug(response);
        });
    };
</script>
役に立ちましたか?

解決

多くの掘り出しの後、私はついにエラーの原因を発見しました。で参照されるページがわかります href 私の価値 fb:like タグの少なくとも1つが必要です fb:app_id また fb:admins 頭のメタタグ。参考のために: http://developers.facebook.com/docs/opengraph

他のヒント

私が見つけることができるすべてのソリューションを試した後、作業はありませんでしたが、Facebook開発者ページからコードを取得したときに、デフォルトの「ライブストリーム」ではなく「ライブフィード」アプリIDを使用してみました。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top