使用图形api仅显示姓氏。可能吗?

时间:2013-05-13 21:28:43

标签: php html facebook-graph-api facebook-php-sdk

我从朋友列表中返回结果,但是我更希望只返回要返回的名字而不是全名。

这是可能的。

另外,如何在显示时使个人资料图片更大?

我曾尝试使用“first_name”,但又作为Undifined Index返回。

这是我的代码:

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>';
}

2 个答案:

答案 0 :(得分:2)

你应该可以通过这个电话获得名字:

$friends = $facebook->api('/me/friends?fields=first_name');

另外,通过使个人资料图片更大,你的意思是什么?你需要这样的东西:https://developers.facebook.com/docs/reference/api/using-pictures/#sizes

答案 1 :(得分:1)

我将此答案添加到您的其他一个问题中,但它也适用于此处:

您可以使用FQL进行类似SQL的查询,该查询可以限制和随机化返回的记录。你可以通过这种方式获得朋友的任何公共领域 您的查询看起来像这样:

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

要将FQL与PHP SDK一起使用,请使用以下格式:

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

$fql是查询。

查看FQL的Technical GuideTable Reference

编辑:要获得更大的图片,请将?width = x&amp; height = y添加到源网址的末尾。
它不一定是您要求的确切尺寸,但Facebook将返回其最接近的匹配。因此,对于220×220像素的图像,URL看起来像这样:

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

我通过这种方式获得了320×320像素的大图像,但您始终可以使用<img>标记的widthheight属性调整大小。