Подтвердить что ты не робот

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

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

4b9b3361

Ответ 1

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

SELECT friend_count FROM user WHERE uid = me()

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

Ответ 2

@Scott

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

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

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

Ответ 3

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

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

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

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

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

Ответ 4

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 table:

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

Ответ 5

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

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

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

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

Ответ 6

Есть много способов подсчета друзей, использующих API 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

Ответ 7

Начиная с 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);
   }
});