2011-11-21 3 views
2

제 질문에 많은 시간을 물었습니다. 그러나 나에게는 답이 없습니다. 페이스 북의 팬 페이지 탭을 만들었습니다. 모든 파일은 내 개인 웹 스페이스에 저장됩니다. 이제 사용자가 이미 페이지를 마음에 들어했는지 또는 아직 마음에 들지 않았는지 확인하고 싶습니다. Facebook : 사용자가 Facebook Fanpage 탭을 좋아하는지 확인하십시오.

그래서이 코드 사용 :

<?php 
    function parsePageSignedRequest() { 
     if (isset($_REQUEST['signed_request'])) { 
      $encoded_sig = null; 
      $payload = null; 
      list($encoded_sig, $payload) = explode('.', $_REQUEST['signed_request'], 2); 
      $sig = base64_decode(strtr($encoded_sig, '-_', '+/')); 
      $data = json_decode(base64_decode(strtr($payload, '-_', '+/'), true)); 
      return $data; 
     } 
     return false; 
    } 

    if($signed_request == parsePageSignedRequest()) { 
     if($signed_request->page->liked) { 
      $isteinfan = "false"; 
     } 
     else { 
      $isteinfan = "true"; 

     } 
    } 
    //PHP Variable an JavaScript übergeben 
    echo "<script>"; 
    echo "isteinfan = '$isteinfan';"; 
    echo "console.log('ist ein fan: ');"; 
    echo "console.log(isteinfan);"; 
    echo "</script>"; 
?> 

을하지만 그것은 작동하지 않습니다. 내가 도와 줄 수있어, 제발! 너, Raphael

답변

7

https://github.com/facebook/php-sdk/tree/master/src에서 다운로드 할 수있는 facebook PHP 라이브러리를 포함하는 것이 좋습니다. 세 개의 파일을 모두 같은 디렉토리에 저장해야합니다. 그럼 당신은 매우 쉽게 liked 상태를 얻을 수 있습니다 : https://github.com/facebook/facebook-php- :

define('APP_ID','xxxxxxxx'); 
define('APP_SECRET','xxxxxxxx'); 

require ("facebook.php"); 

$facebook = new Facebook(array(
    'appId' => APP_ID, 
    'secret' => APP_SECRET, 
    'cookie' => true, 
)); 

$signed_request = $facebook->getSignedRequest(); 

$liked = $signed_request["page"]["liked"]; 
이제

$liked 것은 true 또는 false

+0

새의 repo는 여기에있을 수있는 부울입니다 SDK – nicolast

관련 문제