2011-09-24 2 views
3

다음과 같이 팬 페이지를 설정할 수 있습니까? 내 고객의 팬 페이지 기본 랜딩 탭에 760 픽셀 너비의 앱로드

    1. 사용자 땅은 "나처럼"그래픽
    2. 사용자가 페이지를 좋아하는
    3. 사용자가 다음 760px 다양한 응용 프로그램

    두 가지로 이동합니다 본다 내가 고민하고있는 부분은 다음과 같습니다.

    1. 별도의 팬과 팬이 아닌 랜딩 만들기 좋아하면 페이지
    2. ,

    나는 사용자가 이미 내 응용 프로그램을 좋아 한 경우 확인하여 PHP 또는 자바 스크립트를 사용하여 내 응용 프로그램에서 등/nonlike 그래픽을 제어 수행합니다 760px 다양한 응용 프로그램을로드? 좋아하는 페이지가 760 픽셀의 와이드 앱을로드하도록하려면 어떻게해야합니까?

  • 답변

    0

    단추 이벤트와 유사한 내용을 캡처 할 수 있습니다.

    Facebook elements events

    예 :

    <script> 
        window.fbAsyncInit = function() { 
         FB.init({appId: '127654160646013', status: true, cookie: true, xfbml: true}); 
         FB.Canvas.setSize({ width: 520, height: 742 }); 
         FB.Event.subscribe('edge.create', function(response) { 
          window.parent.location = ADDRESS; 
         }); 
        }; 
        (function() { 
         var e = document.createElement('script'); e.async = true; 
         e.src = document.location.protocol + '//connect.facebook.net/lt_LT/all.js'; 
         document.getElementById('fb-root').appendChild(e); 
        })(); 
    </script> 
    

    는 또한 사용자 팬의 상태를 확인해야합니다. 해결책은 다음과 같습니다.

    <? 
    define('FACEBOOK_APP_ID', 'xxx'); 
    define('FACEBOOK_APP_SECRET', 'xxx'); 
    
    $is_fan = false; 
    if (!empty($_REQUEST['signed_request'])) { 
    
        list($encoded_sig, $payload) = explode('.', $_REQUEST['signed_request'], 2); 
    
        $sig = base64_decode(strtr($encoded_sig, '-_', '+/')); 
        $data = json_decode(base64_decode(strtr($payload, '-_', '+/')), true); 
    
        $expected_sig = hash_hmac('sha256', $payload, FACEBOOK_APP_SECRET, true); 
    
        if ($sig == $expected_sig) { 
    
         if (!empty($data['page']['liked'])) { 
          $is_fan = true; 
         } 
        } 
    } 
    ?> 
    

    필요한 모든 것이 있습니다. 그리고 자바 스크립트를 통해서만 리디렉션 할 수 있습니다.

    window.parent.location = ADDRESS; 
    
    +0

    코드는 팬이 아닌/팬 페이지를 처리하는 방법처럼 보입니까? 그 맞습니까? 또한 760 개의 와이드 앱을 허용합니까? – BillyMedia

    +0

    팬 페이지에는 너비가 iframe이 520 픽셀 이상일 수 없습니다. 더 작은 팬 페이지 버전을 만들어야합니다. 또한이 팬 상태 추출기는 팬 페이지에서만 작동합니다 (앱이 $ _REQUEST [ 'signed_request']를 전송하지 않기 때문에) – neworld

    관련 문제