2011-11-14 63 views
0

我试图拉用户名,身份证号码,性别,生日,用户名,好友列表和其他一些关于用户的信息。从Facebook获取信息图

继承人我的代码:

if ($user) { 
    try { 
    $user_profile = $facebook->api('/me?fields=id, username, gender, birthday, friends', 'GET'); 
    } catch (FacebookApiException $e) { 
    error_log($e); 
    $user = null; 
    } 
} 

的唯一的事情是,当田= id是唯一的参数,它才会起作用。 有没有另一种方法我应该这样做?

+0

用户很可能没有为您授予查看其生日和/或朋友的权限,因此API拒绝了该请求。尝试'/我?fields = id,用户名',看它是否工作。如果确实如此,那我相信这是你的问题。 – Paulpro

回答

1

我一直在为我的应用程序使用Facebook API,我设法创建了一个简单的类,也许这种方法会帮助你。

public function getUserInfo($fields = null) 
{ 
    if($fields == null) 
    { 
     $fields = array('first_name','last_name','profile_update_time','current_location', 'sex', 'birthday', 'pic_square'); 
    } 

    return $this->facebook->api_client->users_getInfo($this->fbUser, $fields); 
} 

基本上$this->Facebook = new Facebook($this->apiKey, $this->secretKey);$this->fbUser = $this->facebook->getUser();

希望这有助于!

+0

谢谢曼努埃尔代码。我无法工作。但我删除了参数阵列中的间距,除了生日之外,其他所有的东西都可以使用但那可能是像保罗所说的那样的许可。 –

+0

现在我添加了访问令牌,因此一切都按预期工作。感谢大家的支持和见解。 –