Ami avec le plus haut nombre d'amis communs
Je veux trouver mon ami, que je partage avec eux le plus grand nombre d'amis communs.
J'ai essayé de le faire avec FQL et de l'API graphique de la façon suivante:
- Obtenir la liste des amis de la session courante de l'utilisateur.
FQL:SELECT uid1 FROM friend WHERE uid2="MY_USER_ID" and uid1 IN (SELECT uid1 FROM friend WHERE uid2=me())
L'API graphique:$facebook->api('/me/friends?format=json&limit=5000')
- Pour chacun de l'uid dans la liste, je peux obtenir la liste des amis communs et de les compter.
FQL:SELECT uid1 FROM friend WHERE uid2="OTHER_USER" and uid1 IN (SELECT uid1 FROM friend WHERE uid2=me())
L'API graphique:$facebook->api('me/mutualfriends/OTHER_USER')
CEPENDANT, il faut TONNES de temps pour exécuter ce à travers tous mes amis...
Connaissez-vous une meilleure façon de le faire?
OriginalL'auteur Sharon Haim Pour | 2011-12-04
Vous devez vous connecter pour publier un commentaire.
Je ne suis pas sûr exactement ce que vous voulez réaliser enfin. Mais si vous êtes à la recherche pour les meilleurs amis dans la liste, vous pouvez le faire par l'extraction d'alimentation et puis peut-rang amis en fonction du nombre de postes.
Le tri par "taux" pourrait être comme ceci: firsttube.com/read/sorting-a-multi-dimensional-array-with-php Mais j'ai encore besoin d'une solution pour la deuxième question.
OriginalL'auteur Sandy Fark
Si votre objectif est uniquement d'obtenir une liste d'amis avec le plus grand nombre d'amis communs, c'est à dire, vous ne se soucient pas qui sont ces amis communs sont, alors, effectivement Geoff FQL appeler fourni de façon trop d'informations dont vous avez besoin.
Je remarque aussi que Geoff FQL retourne autant de données et de Facebook en fait tronque les données.
En outre, vous voudrez peut-être obtenir les noms des amis dans la même FQl appel...
Une alternative FQL qui regarde mieux, c'est ce:
Vous renvoie le nombre d'amis communs de placement à partir de votre liste d'amis. Donc, si vous avez 500 amis, vous obtenez seulement une réponse avec plus de 500 objets.
OriginalL'auteur mkto
La prise de Geoff réponse à la prochaine étape, voici une solution complète en PHP.
Première, ici, était de Geoff FQL:
Et voici le code PHP pour récupérer le JSON et vérifier ami qui a le plus d'amis communs avec vous. (Assurez-vous de remplacer votre jeton d'accès de l'URL.)
OriginalL'auteur Zachary Kestenbaum
J'ai utilisé une requête de ce genre pour obtenir des amis communs:
Il renvoie à tous vos amis mutuels des amis rapidement.
Geoff, la requête que vous avez suggéré retourne un objet JSON avec des paires de uid. comme: { "uid1": "22069X", "uid2": "71286421X" }, { "uid1": "22091X", "uid2": "22498X" } @Zachary - je ne comprends pas comment je peux extraire de cette info qui un de mes amis, je partage le plus grand nombre de mutuelles amis.
Voir ma nouvelle réponse.
OriginalL'auteur Geoff Chappell