2011-09-13 9 views
8

私は自分のウェブサイトにfbファンページが好きなようなボタンを持っています。IFユーザーには既にFacebookのページが好きですか?

ユーザーが好きなようにクリックすると、イベントがサブスクライブされているかどうかを確認してから、コンテンツを表示します。

私はを助ける本当に感謝することは以下の通りです:

ユーザーがすでにページのようにFacebookの、彼らにログインしている場合、私はそれはあなたが既にファンだ」表示させたいです! "内容を表示する。 (というよりもボタンのようにグレーアウト表示)ユーザーがログインfacebookにログインし、彼らのようなボタンをクリックしていない場合、私はそれはあなたが既にしている」と表示したい

OR

をファン!"内容を表示する。 (ボタンのようにグレー表示するのではなく)

編集:みんな、私はこれを研究しています。たぶん私は間違っているかもしれませんが、誰かが私の正確な問題を記述するリンクを提供することができれば、質問よりもはるかに役に立つでしょう。私は、次のことを確認しています
Check if the user is connected to facebook and then check if he liked a page
Facebook Like Box: How to detect if user already liked the page?
Facebook LIKE button hiding when page is already LIKED by user
How to check whether user has liked the page or not using php/javascript
Check if user already likes fanpage

+0

私はdownvotesの1つではありませんが、人々はあなたの質問にそのコメントを含めると、より多くの人が助けになるかもしれません。あなたがすでに試した質問にリンクして、なぜ彼らが助けにならないのかを言います。あなたはすでにあなた自身でそれをやろうとしていることを知っています。 – Matt

+0

+1 @Matt:ありがとう、私はそれを更新しました。 – Gazzzzza

+0

[FacebookのAPIを使って自分のFacebookページやURLが好きかどうかをチェックする方法](http://facebook.stackoverflow.com/questions/5093398/how-to-check-if-a-user-likes- – Igy

答えて

3

あなたはFacebookのPHPのAPIを使用している場合。私はbase_facebook.phpファイルの中にBaseFacebookクラスに含めることができるこの短い関数を考え出しました。

public function userIsFan() { 
    $sr = $this->getSignedRequest(); 
    if($sr && is_array($sr)){ 
     if(array_key_exists('page', $sr)){ 
      return $sr['page']['liked'] == 1; 
     } 
    } 
    return 0; 
} 
+4

BaseFacebookクラスを変更するのではなく、それを拡張する方がいいでしょう。それ以外の場合は、次に別のプロジェクトでこの関数を使用するときに、なぜそれが突然に起こったのか疑問に思うでしょう基本クラスの新しいコピーを取得したときには機能しません。また、FBが基本クラスを変更してアップグレードする場合、カスタム関数はすべて失われます(私を信頼してください...) – nealio82

+0

これはもう機能しません。署名されたリクエストには、ページの好みに関する情報はありません。 – lukyer

0

この1つは私の作品

FB.Event.subscribe('auth.authResponseChange', function(response) { 
     FB.api('/me/likes/[page_id]', 
      function(response) { 
       //console.log(response); - see what the response is on your console. 
       if(response.data[0]) 
       //use script to display your content alert("Liked"); 
       else 
       // just do nothing, display like button alert("Not yet liked"); 
      } 
     ); 

    }); 

page_idのがちょうどhttp://graph.facebook.com/[your fb page name]

を訪れ、IDを見つけるために、IDではありませんあなたのページの名前になります 、あなたはXFBMLを使用していることを確認し

これは将来誰かに役立つことを願っています。

+1

これは、機能するためには 'user_likes'拡張アクセス許可を必要とする可能性があります。 – ceejayoz

関連する問題