2013-06-18 134 views
3

我如何檢查當前Facebook用戶是否喜歡Facebook頁面?如何檢查當前Facebook用戶是否喜歡使用PHP SDK的頁面?

我有這樣的代碼,

require_once("/path/to/sdk/facebook.php"); 


    // Create our Application instance (replace this with your appId and secret). 
    $facebook = new Facebook(array(
     'appId' => 'APP_ID', 
     'secret' => 'APP_SECRET', 
    )); 

    $user = $facebook->getUser(); 

    if ($user) { 
     try { 
     $likes = $facebook->api("/me/likes/153649677989200"); 
     if(!empty($likes['data'])) 
      echo "I like!"; 
     else 
      echo "not a fan!"; 
     } catch (FacebookApiException $e) { 
     error_log($e); 
     $user = null; 
     } 
    } 

    if ($user) { 
     $logoutUrl = $facebook->getLogoutUrl(); 
    } else { 
     $loginUrl = $facebook->getLoginUrl(array(
     'scope' => 'user_likes' 
    )); 
    } 

但如果喜歡網頁的用戶,請參閱網頁here

由於沒有響應!

+1

請從發佈您的應用程序的祕密不要,它應該是祕密。同樣重生一個新的,現在你已經把舊的公開給了公衆。另外,你能否告訴我們你有什麼錯誤或者你沒有找回任何東西? –

+0

謝謝@AnveshSaxena它只是一個例子,順便說一句...它不顯示,如果我已經喜歡的頁面或不 – iamnards

+0

這使用舊的API,自2015-05-01以來不支持。 –

回答

6

您可以使用FQL

$isFan = $facebook->api(array(
    "method" => "fql.query", 
    "query" => "SELECT uid FROM page_fan WHERE page_id = '<YOUR PAGE ID>' AND uid = '<UID>" 
)); 
+0

Hi @Khawer Zeshan,我如何動態獲取uid的值? – iamnards

+0

使用[getUser](http://developers.facebook.com/docs/reference/php/facebook-getUser/)方法'$ uid = $ facebook-> getUser();' –

+0

或者使用'uid = me( )'引用當前用戶 –

3

我不知道,如果你需要做這隻使用FQL,但還有另一種更簡單的方法:

require_once("/path/to/sdk/facebook.php"); 

// Create our Application instance (replace this with your appId and secret). 
$facebook = new Facebook(array(
    'appId' => 'APP_ID', 
    'secret' => 'APP_SECRET', 
)); 

$signed_request = $facebook->getSignedRequest(); 

$like = $signed_request['page']['liked']; 

$喜歡將或。

我想先檢查變量,像這樣:

if(is_array($signed_request) && isset($signed_request['page']) { 
    if($signed_request['page']['liked']) { 
    // do whatever you want to do if the user likes the page 
    } else { 
    // do whatever you want to do if the user don't like the page yet 
    } 
} 
相關問題