2012-02-20 47 views
0

我們正在努力解決令我瘋狂的問題。Facebook的PHP SDK驗證Like返回一些球迷的「不扇」

使用此代碼...

$facebook = new Facebook($config); 

$uid = $facebook->getUser(); 

if ($uid) { 
    try { 
    $user_profile = $facebook->api('/me'); 
    } catch (FacebookApiException $e) { 
    error_log($e); 
    $uid = null; 
    } 
} 

if(!$uid) { 
$params = array(
    'scope' => 'email', 
    'redirect_uri' => 'https://www.mysite.com/' 
); 

$loginUrl = $facebook->getLoginUrl($params); 

header("Location: $loginUrl"); 
} 

$email = $facebook->api('/me?fields=email'); 
$email = $email['email']; 

$verifyLike = $facebook->api('/me/likes/page_id'); 
if($verifyLike['data']) { 
    echo "FAN"; 
} else { 
    echo "NOT A FAN"; 
} 

我們越來越誰看到「不是一個球迷」的網友約8%,它們實際上是我們的頁面的粉絲。

我不能爲了我的生活找出問題所在,而且我已經沒有想法了。

任何人都有任何想法是什麼導致這個問題,更重要的是我們可以做些什麼來解決它?

謝謝。

UPDATE 2/25/12 向Facebook報告錯誤,他們將錯誤狀態更改爲「Triaged」並將優先級更改爲「Low」,但他們還沒有解決方案並仍在研究它。沒有人遇到這個問題?

+1

是否有可能他們明確地刪除了您的應用在授權您的應用時需要看到的權限?只是一個猜測。 – 2012-02-21 03:41:11

回答

1

這不是facebook的錯誤,如果用戶的頁面設置爲小於所有人的隱私,則必須向用戶詢問user_likes擴展權限。

因此,這8%的用戶在他們的Facebook個人資料中擁有更多的隱私,他們的喜歡不公開。對於所有其他用戶,您甚至不需要api請求中的有效access_token。