Salut,

Je cherche à afficher ma liste d'amis complète de facebook en utilisant leur api mais celle-ci me retourne que les personnes ayant accepté les permissions.

Mon code

$request = new FacebookRequest($session, 'GET', '/me/friends');
$profile = $request->execute()->getGraphObject('Facebook\GraphUser');

return $profile->asArray();

Quelqu'un aurait une idée sur comment avoir la liste complète svp ?

10 réponses


Lqncer
Auteur
Réponse acceptée

En parcourant toutes la doc apparement on ne peux plus sauf si on developpe un jeu

merci quand même ;)

https://developers.facebook.com/docs/graph-api/reference/v2.3/user/friends/
Je suppose que tu as fais ceci. Essaye de mettre ton user ID à la place de"me" dans

$request = new FacebookRequest(
  $session,
  'GET',
  '/me/friends'
);

Regarde ici pour l'id.
https://developers.facebook.com/docs/graph-api/reference/user/

Lqncer
Auteur

Salut,

j'avais déjà testé ^^ mais non sa me ressort que les amis ayant accepté les permission de l'application je pensait sinon en fesant une requête fql

Bonjour.
Non, le comportement est tout à fait normal et logique.
Même en liste d'amis, il faut l'autorisation de la personne pour qu'elle apparaisse sur un site (heureusement d'ailleurs).
Bien que ce soit via l'API, il faut que la personne ait donné son autorisation à un site pour être listé dans une liste d'amis.
Sinon, à quoi servirait les paramètres de confidentialités dans Facebook ?
Comme-ci par exemple j'avais envie d’apparaître sur n'importe quel site que n'importe lequel des mes ami(e) Facebook visite ...
Si par exemple un de tes amis de Facebook donne son autorisation sur ton site, oui, il sera listé dans ta liste d'ami(e)s de l'API, mais sinon, non.

Lqncer
Auteur

Salut,

oui je suis d'accord mais la c'est différent car il ne s'agit pas de l'afficher sur une liste d'amis mais plutôt de l'inviter sur le site et une fois qu'il sais enregistré l'avoir en amis donc en l'occurence il n'es pas afficher sans son accord

mais celle-ci me retourne que les personnes ayant accepté les permissions

l'inviter sur le site et une fois qu'il sais enregistré l'avoir en amis donc en l'occurence il n'es pas afficher sans son accord

Soit tu te contredis, ou alors tu n'as pas compris les API de Facebook.
Ce n'est pas parce qu'une personne va s'inscrire sur un site avec l'API Connect de Facebook, qu'il va automatiquement être ami(e) avec les autres utilisateurs.
Bref, j'ai voulu faire simple dans l'explication.

Oulà déjà j'ai eu du mal à lire la dernière réponse de @Lqncer tellement celle-ci pique les yeux ("qu'il sais enregistré" Ôo), et sinon @Lartak +1.

Lqncer
Auteur

Non je crois que c'est toi qui m'as pas compris (ps: dsl pour les fautes ^^) il s'agit simplement d'afficher un listing des amis facebook après l'utilisateur choisi d'inviter ou non une tierce personnes. Cette personne recoit l'invitation a le rejoindre sur le site et donc si il est ok il clique dessus. En cliquant dessus il est invité à s'enregistrer sur le site ensuite a devenir amis avec la personne qui au préalable la invité.

Dans tous les cas le sujet est résolu, j'ai procédé autrement et il est donc bien possible d'afficher la liste des amis avec leur api

@Lqncer : Peux-tu fournir la solution que tu as utilisé pour réussir à recuperer l'ensemble des amis d'un utilisateur. Tous mes éssais demeurent sans résultat. Merci

il faut utiliser la permission Taggable_friends pour recuperer l'ensemble des amis d'un utilisateur