Как завести друзей по порядку из числа общих друзей? - PullRequest
5 голосов
/ 16 октября 2011

Я занимаюсь разработкой приложения для Facebook. Я хочу знать, как я могу получить друзей в порядке количества общих друзей. Это возможно с FQL или любым другим способом?

Ответы [ 4 ]

6 голосов
/ 01 мая 2013

Обновление

Я не могу найти способ сделать это за один запрос, используя Graph API, но это можно сделать в Ruby, получив список друзей и отправив запрос каждому другу, используя Пользовательский контекст как этот пример

Оригинальный ответ

Вот запрос FQL, который нужно использовать , который работает только для версий API

SELECT uid, mutual_friend_count from user where uid in (SELECT uid2 FROM friend WHERE uid1=me()) ORDER BY mutual_friend_count desc

вы можете попробовать это в проводнике

https://developers.facebook.com/tools/explorer?method=GET&path=fql%3Fq%3DSELECT%20uid%2C%20mutual_friend_count%2C%20friend_count%20from%20user%20where%20uid%20in%20%28SELECT%20uid2%20FROM%20friend%20WHERE%20uid1%3Dme%28%29%29%20ORDER%20BY%20mutual_friend_count%20desc

2 голосов
/ 16 октября 2011

Теоретически вы можете получить список друзей пользователя, используя:

$friendsOfFriend = $facebook->api('/'.$yourFriendsFacebookId.'/friends');

Затем вы можете проверить каждый из результатов, чтобы увидеть, являются ли они вашими друзьями.

$isMyFriend = $facebook->api('/me/friends/'.$someonesFacebookId);

... и следить за количеством.

Однако мой тест пока не дал никакого результата.Я попытался найти друзей некоторых из моих друзей в Facebook, но он возвращает исключение: Can't lookup all friends of {friend's_facebook_ID}. Can only lookup for the logged in user {my_facebook_ID}, or friends of the logged in user with the appropriate permission.Так что здесь может быть проблема с разрешением.

1 голос
/ 17 октября 2011

Я не думаю, что общие друзья доступны через FQL, поэтому вам придется сделать это сложнее: вызывать график api в цикле для каждого друга и получать количество общих друзей.Метод graph api: / me / взаимный друг / yourFriendsId, и вы можете сделать 20 пакетных запросов одновременно, чтобы ускорить это.Если вы можете найти способ сделать это с FQL, это будет ваш самый быстрый маршрут.

0 голосов
/ 28 октября 2015

Это только частичный ответ, поскольку они не все в одном месте, но пока не нашли способа разместить их на одной странице, но это только начало, которое можно запустить программно в цикле через список друзей. ...

https://www.facebook.com/browse/mutual_friends/?uid=xxxxxxxxxxxx

потому что, если вы не дадите uid, это вернет ошибку ... Я просто пытался получить список всех моих друзей на одной странице, но без кубиков. ridonculous.

...