Как подсчитать общее количество друзей пользователя Facebook по uid? - PullRequest
16 голосов
/ 20 августа 2010

Как подсчитать общее количество друзей пользователя Facebook по uid?

Ответы [ 7 ]

35 голосов
/ 16 ноября 2011

В таблице user имеется поле friend_count, к которому вы можете обратиться.

SELECT friend_count FROM user WHERE uid = me()

Просто замените me() на UID пользователя, которого вы хотите запросить.

14 голосов
/ 11 января 2012

@ Скотт

Это очень много работает, я не ожидал, что это:)

https://graph.facebook.com/fql?q=SELECT friend_count ОТ пользователя, ГДЕ uid = 273103345

Я пытался использовать случайный идентификатор пользователя, который не является другом в Graph API. Однако для нескольких случайных идентификаторов он вернул null, я думаю, это были страницы.

8 голосов
/ 28 ноября 2014

FQL устарел по состоянию на октябрь 2014 года. Цитировать часто задаваемые вопросы Facebook:

По состоянию на вторник, 22 июля 2014 года, теперь мы возвращаем поле total_count в течение итоговое свойство в ответе на /v2.2/me/friends.

Конечная точка пользователя / друзей требует разрешения user_friends для возврата фактического списка друзей, которые используют ваше приложение, однако поле количества друзей все равно будет возвращено без этого разрешения user_friends. Пример ответа:

    {
  "data": [
  ], 
  "summary": {
    "total_count": 811
  }
}

Полный FAQ: https://developers.facebook.com/docs/apps/faq#total_friend_count

3 голосов
/ 20 августа 2010

COUNT не поддерживается FQL:

SELECT uid2 
FROM friend 
WHERE uid1 = USERID

Поскольку COUNT не поддерживается, вам необходимо получить все записи и затем подсчитать их в любом приложении, которое выполняет вызов SQL.

Если вы хотите получить больше информации, например, имена, а также количество, вы можете использовать внутренний выбор, чтобы получить расширенную информацию друга:

SELECT name 
FROM user 
WHERE uid IN (SELECT uid2 
              FROM friend 
              WHERE uid1 = USERID)

Вот связанный вопрос SO:

Количество результатов FQL

Ссылки для Друг таблица:

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

1 голос
/ 12 декабря 2016

Начиная с Facebook API 2.0 вы не можете получить полный список друзей в Facebook , только частичный список друзей, которые также авторизовали ваше приложение.

Вы все еще можете получить общее количествохотя количество друзей, Graph API пользователь / друзья имеет поле summary, содержащее счет как total_count

, поэтому вы можете получить его, используя:

FB.api("/me/friends", function (response) {
   if (response && !response.error) {
      console.log(response.summary.total_count);
   }
});
1 голос
/ 01 января 2011

Вот мое решение ... прекрасно работает!

$myfriends = $facebook->api('/XXXXXXX152466/friends');
$friendcount =  COUNT($myfriends['data']) + 1;

Замените XXXXXXX152466 идентификатором профиля Facebook #

Использование Facebook PHP SDK вместе с Graph API!

0 голосов
/ 12 февраля 2015

Существует множество способов подсчитать количество друзей, использующих Facebook Graph API с Php SDK, из тех, о которых я говорю ..

$fbuser=$fb->api('/me/friends');
$access_token = $fb->getAccessToken();


$friend_count=0;
foreach($fbuser['data'] as $friends)
{
  $friends_count++;
}

Для полного урока посетите эту статью Получение FBКоличество друзей

...