2013-05-13 31 views
0

我已經從朋友列表中返回結果,但是我希望那裏只有返回的名字而不是全名。使用圖形API顯示姓氏。可能嗎?

這是可能的。

另外,我怎樣才能使配置文件圖像更大時顯示?

我嘗試過使用「first_name」,但是作爲Undifined索引返回。

這裏是我的代碼有:

if ($user) { 
$user_profile = $facebook->api('/me'); 
$friends = $facebook->api('/me/friends'); 

echo '<table>'; 
foreach ($friends["data"] as $value) { 
    echo '<td>'; 
    echo '<div class="pic">'; 
    echo '<img src="https://graph.facebook.com/' . $value["id"] . '/picture"/>'; 
    echo '</div>'; 
    echo '<font color="white">','<div class="picName">'.$value["first_name"].'</div>','</font>'; 
    echo '</td>'; 
} 
echo '</table>'; 
} 
+0

也許你必須解析的名字,因爲api只返回全名。它可能不是很難解析,尤其是如果你使用正則表達式..... – BigBug 2013-05-13 21:36:26

回答

1

我說這個答案,你的其他問題,但它也適用於此:

您可以使用FQL作出類似SQL的查詢可以限制和隨機化返回的記錄。您可以通過這種方式獲得朋友的任何公共領域。
您的查詢會是這個樣子:

SELECT uid, first_name FROM user WHERE uid IN (SELECT uid2 FROM friend WHERE uid1 = me()) ORDER BY rand() LIMIT 12; 

要使用PHP SDK使用FQL,請使用以下格式:

$facebook->api(array(
    'method' => 'fql.query', 
    'query' => $fql 
)); 

$fql被查詢。

查看FQL的Technical GuideTable Reference

編輯:要獲取更大的圖片,請將?width = x & height = y添加到源URL的末尾。
它不一定是您要求的確切尺寸,但Facebook會返回最接近的匹配。因此,URL應該是這樣的一個220×220像素的圖片:

https://graph.facebook.com/[USER_ID]/picture?width=220&height=220 

我有一個320×320像素的大圖像這樣,但你總是可以用<img>標籤的widthheight屬性調整其大小。