Я создаю социальное приложение, которое получает данные из Facebook и отображает их причудливым образом. Сначала приложение выбирает 10 случайных друзей, а затем (пытается) найти общих друзей между вошедшим в систему пользователем и каждым из 10 друзей. .
Получить 10 друзей было невероятно легко с помощью FQL, но у меня есть серьезные проблемы с поиском общих друзей без приложения, которое делает 2000 вызовов API!
Так работает
function GetMutualFriendsFor($id)
{
// Queries and returns results for mutual friends between user and id
$param = array(
'method' => 'friends.getMutualFriends',
'source_uid' => $this->_user['id'],
'target_uid' => $id,
'callback'=> ''
);
$mutualFriends = $this->_instance->api($param);
}
К сожалению, запуск этой функции один раз занимает около 3 минут ... умножьте это на 10 раз, и вы начнете готовить обед после запуска сценария!
Я думал о том, чтобы сделать это с использованием FQL, поскольку это быстрее и возвращает именно тот объем данных, который я хочу (uid, name), который я пробовал
$query = 'SELECT uid1 FROM friend WHERE uid2=me() AND uid1 IN (SELECT uid2 FROM friend WHERE uid1=' . $id .') LIMIT 5';
Но PHP выдает ошибку: Не удается найти всех друзей 1523223065. Может искать только зарегистрированного пользователя (665044728) или друзей зарегистрированного пользователя с соответствующим разрешением
Кто-нибудь знает, что делать ??
PS: я уже видел все другие посты на stackoverflow об этом, к сожалению, безуспешно: (
Большое спасибо !!