2011-09-13 5 views
8

내 웹 사이트에 같은 버튼이 있습니다 (이는 사용자가 fb 팬 페이지를 좋아하는 것입니다).IF 사용자가 이미 Facebook 페이지를 좋아했는지 확인하는 방법은 무엇입니까?

사용자가 좋아요를 클릭하면 짝수 (이벤트 구독)가 해고되었는지 확인한 다음 일부 콘텐츠가 표시되는지 확인합니다. 사용자가 페이스 북에 로그인하여 이미 페이지처럼, 나는 그것이 표시하고자한다

경우 "이미 팬 위치 : 정말 도움 감사하겠습니다 무엇

는이 다음이다 ! " 내용을 보여줍니다. 사용자가 페이스 북에 로그인하고이 같은 버튼을 클릭하지 않은 경우

또는

을 (표시보다는 버튼처럼 회색), 나는 당신이 이미있어 "표시 할 부채!" 내용을 보여줍니다. (버튼처럼 회색으로 표시하는 것보다)

편집 : 얘들 아, 얘들 아, 내가 이걸 연구했고 비슷한 질문을 발견했지만, 내가 뭘하고 있는지 알지 못한다. 어쩌면 내가 잘못 생각한 것일 수도 있지만 누군가 내 정확한 문제를 설명하는 링크를 제공 할 수 있다면 질문보다 훨씬 도움이 될 것입니다. 나는 다음을 확인했다 :
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 중 하나가 아니지만 사람들이 귀하의 질문에 그 의견을 포함하면 더 많은 도움을받을 수 있습니다; 이미 시도한 몇 가지 질문에 대한 링크를 표시하고 도움이되지 않는 이유를 말하면 사람들은 자신이 이미 직접 해보려한다는 것을 알고 있습니다. – 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

당신은 페이스 북의 PHP API를 사용하는 경우. 나는 BaseFacebook 클래스에 base_facebook.php 파일을 포함시킬 수있는이 짧은 함수를 생각해 냈습니다. 나를

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"); 
      } 
     ); 

    }); 

페이지 ID 단지 방문, ID가 아닌 페이지의 이름이 될 id를 찾을 수 있도록

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

당신이 xfbml을 사용하고 있는지 확인은 이 하나의 작품 http://graph.facebook.com/[your fb page name]

앞으로 도움이되기를 바랍니다.

+1

이것은 'user_likes' 확장 권한이 필요합니다. – ceejayoz

관련 문제