Facebook应用:从用户ID获取用户名

8

我刚接手了一个FB应用程序项目,正准备在上线前清理一些问题。

原始程序员已经将用户ID号存储在数据库中,但没有显示它或用户名。我想在上传的图片下方显示用户的名称。

我的代码是<?php echo $row['user_id']; ?>,有没有简单的方法将其转换为用户名?

2个回答

17

使用名称字段从API调用id。

 https://graph.facebook.com/user_id?fields=name

它应该返回

{
   "name": "First Lastname",
   "id": "user_id"
}

将其保存到变量中,然后提取

 $user['name'];

了解更多信息,请查看http://developers.facebook.com/docs/reference/api/user/

以下示例不需要SDK或访问令牌:

$response = file_get_contents("https://graph.facebook.com/4?fields=name");  
$user = json_decode($reponse,true);  
echo $user['name'];  

应该打印,

'Mark Zuckerberg'

我需要在配置文件或facebook.php中定义吗?对于这些初学者问题,我表示歉意,我是FB开发的新手。 - ryan
@ryan 不一定需要访问令牌,根据上述文档的定义,id和name不需要访问令牌。因此,您可以自己编写逻辑来接收该调用的JSON响应。 - phwd
太棒了,这对我有用。https://graph.facebook.com/4?fields=username - Nirav Gadhiya
2
{ "error": { "message": "不支持的获取请求。", "type": "GraphMethodException", "code": 100 } } - R.Alvin
7
看起来这已经被废弃了。 - bumpkin

1
尝试使用 PHP 图形 API,像这样:
$facebook = new Facebook(array(
   'appId'  => "your appID",
   'secret' => "your app secret",
   'cookie' => true,
));

$answer = $facebook->api("/{$row[user_id]}");
$username = $answer['name'];
print $username;

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接