2013-08-05 24 views
0

您好我現在用的是下面的檢查,如果用戶已經喜歡我的應用程序:瞭解用戶是否有類似頁面

的問題是,沒有頁面對象簽署的請求返回。我在哪裏設置權限,以便返回完整的請求?

 require_once('facebook.php'); 

     $facebook = new Facebook(array(
      'appId'=> FB_APP_ID, // replace with your value 
      'secret'=> FB_APP_SECRET // replace with your value 
     )); 
     $signedRequest = $facebook->getSignedRequest(); 
     var_dump($signedRequest); 
     // Inspect the signed request 
     if($signedRequest['page']['liked'] == 1){ 

      echo 'like'; 

     } else { 

      echo 'no like'; 

     } 
    } 

回答

1

頁傳遞只在Facebok的頁面(如應用程序配置和添加爲Tab鍵的粉絲專頁),而不是在apps.facebook.com(畫布),也沒有任何您的域名。

在我使用的每用戶應用另一方面(它最近,因此它可能是過時的改變)

// scope for user 
// $facebook <- assuming this is facebook sdk object 
// $params = array(
// 'scope' => 'user_likes' <- to get likes we have to require this 
//); 

function fanGate() { 
    $likes = null; 
    try { 
     $likes = $facebook->api('/me/likes'); 
    } catch (Exception $e) {} 
    $likeUs = false; 
    if ($likes) 
     foreach ($likes['data'] as $like) { 
      if ($like['id'] == 'some id of page') 
       $likeUs = true; 
     } 
    return $likeUs; 
} 

編輯

根據documentation檢查,如果用戶喜歡的Fanpage或任何其他GraphAPI對象,您只需要user_likes然後

$arrResult = $facebook->api("/me/likes/${SOMEOBJECT_ID}") 
// $arrResult = $facebook->api("/${USER_ID}/likes/${SOMEOBJECT_ID}"); 
if (empty($arrResult['data'])) 
    echo 'dont like'; 
else 
    echo 'like'; 

勉強調用/me/likes回報所有喜歡,但它會change - 2013-10-02

/USER_ID /喜歡默認的更新目前API通過 默認返回所有喜歡。遷移後,通過Graph API獲取用戶喜歡的內容一次將返回25個結果。我們已將分頁添加到 結果中,以便您可以翻閱所有用戶的喜好。

+0

我在做什麼? Facebook的定義在哪裏? –

+0

我修改了代碼,但嗯它是概念代碼片段而不是解決方案 – kwarunek

相關問題