Facebookのようなボタンは自動的に元に戻しています
-
29-09-2019 - |
質問
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を使用してみました。
所属していません StackOverflow