[英]Retrieving URL of Facebook profile picture
我有以下代碼具有正確的輸出:
$request = new FacebookRequest( $session, 'GET', '/me?fields=id,first_name,email,gender,birthday,picture.url' );
$response = $request->execute();
OUTPUT:
Facebook\GraphObject Object ( [backingData:protected] => Array ( [id] => 1412361249046879 [first_name] => Do [email] => xxxx@xxxx.com [gender] => male [birthday] => 06/30/1984 [picture] => stdClass Object ( [data] => stdClass Object ( [url] => https://fbcdn-profile-a.akamaihd.net/hprofile-ak-xpa1/t1.0-1/p50x50/10406555_1412406989042185_8978818317524743009_t.jpg ) ) ) )
然后設置變量以供以后在html中調用:
$uid = $response->getGraphObject()->getProperty('id');
$name = $response->getGraphObject()->getProperty('first_name');
$email = $response->getGraphObject()->getProperty('email');
**$pic = $response->getGraphObject()->getProperty('picture.data.url');**
$sex = $response->getGraphObject()->getProperty('gender');
$bday = $response->getGraphObject()->getProperty('birthday');
問題是$ pic變量不起作用。 我不明白如何調用位於GraphObject樹下方的變量(即picture-> data-> url)
$request = new FacebookRequest( $session, 'GET', '/me?fields=id,first_name,email,gender,birthday,picture.url' );
$response = $request->execute();
$array = $response->getResponse();
$pic = $array->picture->data->url;
這就是解決問題的方法。 我不得不停止使用getGraphObject()函數,而只是使用標准的getResponse(),以便可以將其更像是常規數組。 希望這可以幫助到別人。
為什么不這樣稱呼它:
$pic = $response->getGraphObject()->getProperty('picture')->data->url;
或將FQL與FB SDK一起使用
$config = array(
'appId' => APP_ID,
'secret' => API_SECRET,
'cookie' => true,
);
$facebook = new Facebook($config);
$params = array(
'method' => 'fql.query',
'query' => "SELECT uid,email, pic, first_name, last_name, birthday, sex FROM user WHERE uid = ".$uid.""
);
$result = $result = $facebook->api($params);
警告:但是FQL將從新版本的FB API中刪除。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.