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

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


person fajars    schedule 20.08.2010    source источник


Ответы (7)


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

SELECT friend_count FROM user WHERE uid = me()

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

person Scott Christopher    schedule 16.11.2011

@Скотт

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

https://graph.facebook.com/fql?q=SELECT%20friend_count%20FROM%20user%20WHERE%20uid%20=%20273103345

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

person BST    schedule 11.01.2012
comment
FQL устарел сейчас. - person Shajeel Afzal; 08.12.2016

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

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

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

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

Полный список часто задаваемых вопросов: https://developers.facebook.com/docs/apps/faq#total_friend_count

person Dante Cullari    schedule 28.11.2014

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

Ссылки на таблицу Friend:

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

person Kelsey    schedule 20.08.2010

Вот мое решение... отлично работает!

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

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

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

person Brandon    schedule 31.12.2010
comment
Я думаю, что в результате получается пагинатор, поэтому я должен нехорошо, если у пользователя много друзей. - person vietean; 02.11.2012

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

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

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

FB.api("/me/friends", function (response) {
   if (response && !response.error) {
      console.log(response.summary.total_count);
   }
});
person marmor    schedule 12.12.2016

Есть много способов подсчитать количество друзей, используя 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. Считать

person Talib Hassan    schedule 12.02.2015