2016-08-21 50 views
0

我想獲取個人資料的圖片網址。 得到我做以下的名稱:獲取個人資料圖片來自Facebook API的url - PHP SDK V.5

$fb = new \Facebook\Facebook([ 
     'app_id' => '{app_id}', 
     'app_secret' => '{app_secret}', 
     'default_graph_version' => 'v2.5', 
     'default_access_token' => '{access_token}', 
]); 

$response = $fb->get('/me'); 

$name = $response->getGraphObject()->asArray(); 

$name = $name['name']; 
echo $name; 

隨着我試着用下面來獲取資料圖片URL相同的邏輯:

$fb = new \Facebook\Facebook([ 
     'app_id' => '{app_id}', 
     'app_secret' => '{app_secret}', 
     'default_graph_version' => 'v2.5', 
     'default_access_token' => '{access_token}', 
]); 

$response = $fb->get('/me/picture'); 

$pic = $response->getGraphObject()->asArray(); 

$pic = $pic['url']; 
echo $pic; 

,並沒有工作。從圖中的探險家,我知道什麼時候我打電話了/我/圖片這是本我得到:

{ 
     "data": { 
      "is_silhouette": false, 
      "url": "https://scontent.xx.fbcdn.net/ etc etc " 
     } 
    } 

所以我相信我做出了正確的電話,但我搞砸了,當我試圖獲得網址。我的想法是去數據對象,但我無法獲得url值。我也試過用get領域,但沒有運氣:

$pic = $response->getGraphObject()->asArray(); 
    $pic->getField('url'); 

拆除 - > asArray()沒有什麼區別。 最後,我嘗試了這種方式,但再次沒有運氣。

$object = $response->getGraphObject(); 
    $pic = $object->asArray('data'); 
    $pic = $pic['url']; 
    echo $pic; 

任何幫助,將不勝感激:)

回答

0

所以基本上我發現有一個叫getGraphUser功能。

 $response = $fb->get('/me?fields=picture'); 
     $user = $response->getGraphUser(); 
     $name = $user->getPicture(); 
     echo $name['url']; 
相關問題