2011-11-14 5 views
0

J'essaie de tirer id, sexe, anniversaire, nom d'utilisateur, liste d'amis et d'autres informations sur l'utilisateur.Obtenir des informations à partir de Facebook Graphique

Heres mon code:

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

La seule chose est qu'il ne fonctionne que lorsque les champs = id est le seul paramètre. Existe-t-il un autre moyen de le faire?

+0

Il est très probable que l'utilisateur ne vous ait pas accordé de privilèges pour afficher son anniversaire et/ou ses amis. L'API rejette donc la demande. Essayez '/ me? Fields = id, nom d'utilisateur' et voyez si cela fonctionne. Si c'est le cas, je crois que c'est votre problème. – Paulpro

Répondre

1

J'ai travaillé avec l'API Facebook aujourd'hui pour mon application et j'ai réussi à créer un cours simple, peut-être que cette méthode va vous aider.

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

Fondamentalement, $this->Facebook = new Facebook($this->apiKey, $this->secretKey); et $this->fbUser = $this->facebook->getUser();

Hope this helps!

+0

Merci Manuel pour ce code. Je ne pouvais pas le faire fonctionner. Mais j'ai supprimé l'espacement dans mon tableau de paramètres et tout fonctionne sauf anniversaire. Mais c'est probablement une permission comme Paul l'a suggéré. –

+0

Et maintenant j'ai ajouté le jeton d'accès pour que tout fonctionne comme prévu. Merci à tous pour votre soutien et votre perspicacité. –

Questions connexes