2010-11-29 14 views
1

XFBMLでレンダリングされている自分のFacebookのようなボタンがいくつかあります。それらをクリックすると、ボタンのような標準から「あなたが好きです」というアイコンに変更されているように見えます。しかし、2〜2秒後(私はFBのサーバに当たって戻ってくると思う)、自動的に自分自身を軽くして元のようなボタンに戻ります。Facebookのようなボタンは自動的に元に戻ります

See a video of what I mean here.

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

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

答えて

4

多くの掘り出しの後、私は最終的にエラーの原因を発見しました。 HEADのfb:app_idまたはfb:admins METAタグの少なくとも1つが必要なfb:likeタグのhref値によって参照されるページが判明します。参照:http://developers.facebook.com/docs/opengraph

+0

あなたは私の問題を解決したopengraph docsのページです。ありがとう:) –

+0

ありがとう、私は狂ったと思っていました! – Matt

0

私が見つけたすべての解決策を試した後に、しかし、私はFacebookのコードを取得するときにデフォルトの "ライブストリーム"ではなく "ライブフィード"アプリIDを使用してみました私のために働いた開発者ページ。

関連する問題