ユーザーがページとしてログインしているときにFacebookプラグインが正しく表示されないことに気づきました。プラグインは、「このプラグインを使用するには、ユーザーに戻る」のようなメッセージを表示します。
訪問者がユーザー(ページやアプリではない)の場合にのみプラグインを表示したい。
Facebookの仕様に従ってコードを実装しましたが、このフィルターを作成できるphpまたはjavascriptスニペットが見つかりません。
誰かが私を助けることができますか?ありがとう
回避策を見つけました:
FB.getLoginStatus(function(response) { **DO_SOMETHING** })
ユーザーがUSERとしてログに記録されている場合、またはユーザーがまったくログに記録されていない場合にのみDO_SOMETHINGを実行し、アクションをフィルター処理できます。
最初の提案は機能しません。コンテキストは単純なWebブラウジングです。ユーザーがFBアプリに接続することはありません。FB情報(私は思う)はブラウザのクッキーから来ています。
FB.api({
method: 'fql.query',
query: 'SELECT type FROM profile WHERE username IN (SELECT username FROM user WHERE uid=me())'
},
function(response) {
(response.type == 'user') ? $('#fb_elem_id_here').css('display', 'inline-block') : $('#fb_elem_id_here').css('display', 'none');
});