2011-03-17 4 views
4

나는 문안 내용을 만들 필요가있는 내 사이트 (iframe 앱이 아님)에 facebook likebox가 있습니다. Edge.create와 edge.remove를 사용하여 FB.Event.subscribe를 이해하지만 실제로 필요한 것은 사용자가 단순히 팬이되거나 팬이 아니었을 때만 페이지를 좋아하는지 알 수 있습니다. 어쩌면 xfbml.render에서 콜백으로 볼 수있는 것이 있습니까?Fan-Gate, Like-Gate, show-to-connections, 자바 스크립트 등의 상자가 있습니까?

저는 (회사에서) 프런트 엔드 언어를 사용하는 것으로 제한되어 있습니다. 이는 현재 자바 스크립트가 내 유일한 옵션이라는 것을 의미합니다. 나는 기꺼이 "signed_request"옵션을 사용 하겠지만 서버 측 언어를 통해서만 액세스 할 수 있다고 말할 수 있습니다.

누군가가 이미 자바 스크립트 만 사용하여 페이지를 "좋아"하는지 여부를 판단 할 수있는 방법이 있습니까?

답변

6

예, FB Javascript SDK를 사용하여 자바 스크립트에서 완전히 수행 할 수 있습니다.

function RunLikeCheck() { 
var likeId = 'yourLikeIdHere'; 
    FB.api({ 
     method: 'fql.query', 
     query: 'SELECT uid FROM page_fan WHERE page_id = ' + likeId + ' AND uid = me()' 
    }, 
       function (response) { 

        if (response.length == 1) { 
         $("#HasLiked").val('true'); 
         $('#frmAllow').submit(); 
        } 
        else { 
         $("#HasLiked").val('false'); 
         $('#frmAllow').submit(); 
        } 
       } 
      ); 
} 

지금이 당신이 이미 로그인 한 사용자를 가지고 올바른 사용 권한이 있다고 가정한다.

+0

누군가가 내 앱을 통해 로그인하지 않은 경우에만 알 수있는 유일한 답변입니다. 감사! 페이지 탭에서이 기능을 사용하면 효과적이었습니다. 탭에 사용할 때 앱 ID가 아니라 페이지 ID를 사용합니다. – Nate914375

0

다음은 FB.api 호출이 필요없는 게이트를 구현하기위한 몇 가지 추가 샘플 자바 스크립트 코드입니다 (그러나 사용자가 페이지를 방문 할 때마다 다시 부탁해야 함).

http://linksy.me/viral-gate