2012-05-26 2 views
3

fb 앱이 아닌 외부 웹 사이트에서 내 페이스 북 페이지가 마음에 들었는지 여부를 알아야합니다. 나는이 조각 사용하려 : 나는 문서로 복사 한 후, 그것은 일을 didnt한다 http://jsfiddle.net/alexgarry/qdfL6/5/외부 웹 페이지에서 사용자가 페이지 (페이스 북)를 좋아하는지 확인하십시오.

합니다. 스크립트가로드 된 후 "다시 시도하십시오"라는 오류 메시지가있는 새로운 팝업이 나타납니다.

내 코드 :

<html> 
<head> 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6/jquery.min.js"></script> 
<style> 
#container_notlike, #container_like { 
    display:none 
} 
</style> 
<script src="http://connect.facebook.net/en_US/all.js"></script> 
<script> 
    FB.init({ 
    appId : 'MY_APP_ID', 
    status : true, 
    cookie : true, 
    xfbml : true 
    }); 

$(document).ready(function(){ 
    FB.login(function(response) { 
     if (response.status == 'connected') { 
      var user_id = response.authResponse.userID; 
      var page_id = "230305033727799"; // coca cola page https://www.facebook.com/cocacola 
      var fql_query = "SELECT uid FROM page_fan WHERE page_id="+page_id+" and uid="+user_id; 

      FB.api({ 
       method: 'fql.query', 
       query: fql_query 
      }, 
      function(response){ 
       if (response[0]) { 
        $("#container_like").show(); 
       } else { 
        $("#container_notlike").show(); 
       } 
      } 
      );  
     } else { 
     // user is not logged in 
     } 
    }); 
}); 
</script> 
</head> 
<body> 
<div id="fb-root"></div> 
<div id="container_notlike"> 
YOU DONT LIKE 
</div> 
<div id="container_like"> 
YOU LIKE 
</div> 
</body> 
</html> 

어떤 아이디어?

감사합니다.

+1

코코 - 콜라 페이지 ID는 예는'40796308305'도'user_likes' 권한이며이 작업을 얻을, 잘못 : http://www.fbrell.com/saved/f61702d5efc6253df350c95a389ce214 – Dhiraj

+1

나는 당신이 필요로 생각하는' read_stream' permission ... 또한 WHERE 절에서'uid'를 사용할 수 없습니다. 'like' 테이블의 인덱스가 아닙니다. – Lix

답변

3
<!DOCTYPE html> 
<html> 
    <head> 
    <title></title> 
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
    <style type="text/css"> 
     #container_notlike, #container_like { 
      display:none 
     }​ 
    </style> 
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6/jquery.min.js"></script> 
    <script type="text/javascript"> 
     $(document).ready(function() { 
      FB.login(function(response) { 
       if (response.status == 'connected') { 
        var user_id = response.authResponse.userID; 
        var page_id = "40796308305"; 

        FB.api('/me/likes/'+page_id, function(response) { 
         if (response.data[0]) { 
          $("#container_like").show(); 
         } else { 
          $("#container_notlike").show(); 
         } 
        }); 
       } else { 
        // user is not logged in       
       } 
      }); 
     }); 
    </script> 
</head> 
<body> 
    <div id="fb-root"></div> 
    <script src="https://connect.facebook.net/en_US/all.js"></script> 
    <script> 
     FB.init({appId: 'MY_APP_ID', status: true, cookie: true, xfbml: true}); 
    </script> 
    <div> 
     <div id="container_notlike"> 
      YOU DONT LIKE 
     </div> 
     <div id="container_like"> 
      YOU LIKE 
     </div>​ 
    </div> 
</body> 

하면 APP_ID와 MY_APP_ID를 교체합니다. 당신이 언급 한

+0

그래도 user_likes 권한이 필요하며 FB.login에서 권한을 요청하는 것이 아닙니다. – CBroe

관련 문제