2016-07-28 53 views
6

我得到Facebook用戶的朋友數。我不知道如何獲得total_count。如何獲得朋友的total_count? Facebook的PHP-API

這裏是我的代碼:

$helper = $fb->getRedirectLoginHelper(); 

try 
    if (isset($_SESSION['facebook_access_token'])) { 
       $accessToken = $_SESSION['facebook_access_token']; 

    } else { 
     $accessToken = $helper->getAccessToken(); 
    } 

    // Returns a `Facebook\FacebookResponse` object 
    $response = $fb->get('/me?fields=id,name,email,friends', $accessToken); 

} catch(Facebook\Exceptions\FacebookResponseException $e) { 
    echo 'Graph returned an error: ' . $e->getMessage(); 
    exit; 
} catch(Facebook\Exceptions\FacebookSDKException $e) { 
    echo 'Facebook SDK returned an error: ' . $e->getMessage(); 
    exit; 
} 
echo $accessToken; 
$user = $response->getGraphUser(); 
$userInfo = $user->asArray(); 

print_r($userInfo); 

但是,打印返回這些:

([id] => 1234567890 
    [name] => lmc_john 
    [email] => [email protected] 
    [friends] => Array ()) 

而且在Graph-api test tool,它返回這些:

{ 
    "id": "12345667890", 
    "name": "lmc_john", 
    "friends": { 
     "data": [ 
     ], 
     "summary": { 
     "total_count": 89 
    } 
    } 
} 

那麼,如何才能我只能從這個數組中獲得朋友total_count?

THX幫助


最後,我找到了另一種方式來獲得總的朋友。

這裏是我的源codde: https://github.com/capslock10/Get_facebook_total_friend/blob/master/getSession.php

希望可以幫助別人。

回答

-1

簡單,您可以使用方法[count(array)= total_count]。請參閱enter link description here

echo count($ userInfo ['friends']);

+0

我不是爲什麼,但它返回零。是否有任何權限錯誤?但'access_token'可以在'Graph-api測試工具'上使用並正確返回值。 – Capslock10

+0

我是sr。你可以向我展示[friends] => Array(...)的詳細內容) – TinhNQ

+0

這不是數組中的任何內容。基本上它是空的... – Capslock10

0

這是一個猜測,但也許你可以確認它是否真的如此。朋友正在向您顯示數據,因爲您的應用沒有查看朋友的權限,所以這是正確的。但是,如此處所述,您可以訪問邊緣的摘要數據。

https://developers.facebook.com/docs/php/GraphEdge/5.0.0

一些端點和圖形的邊緣支持數據的彙總。如果 summary = true修飾符是在支持的端點 或邊緣上發出請求發送的,則Graph將返回$ .summary.total_count下的元數據 中的結果總數。如果getTotalCount()不存在,getTotalCount()將返回該值或返回空值。

+0

它返回一個'朋友數組',但它是一個空對象。我不知道發生了什麼問題...... – Capslock10

相關問題