Получить отношения (друг, друг друга) между двумя идентификаторами Facebook через Facebook API - PullRequest
4 голосов
/ 28 февраля 2012

Как я могу проверить связь между двумя идентификаторами facebook? то есть друг, друг друга или нет никакого отношения. Методами fql или graph api (что угодно).

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

Ответы [ 2 ]

1 голос
/ 01 марта 2012

Я получил решение, проверив запросы FQL.

//$target_id=id of user to check relationship
//$source_id=logged in user

    $query="SELECT uid, name, work FROM user WHERE uid IN 
    (SELECT uid2 FROM friend WHERE uid1 = $target_id AND uid2=$source_id)
     ORDER BY name";

    $user_info=$this->facebook->api(array('method'=>'fql.query',
                                'query'=>$query));


    if(!empty($user_info)) 
    {
          $degree='friend';
    }
    else {
        $query="SELECT uid, name, work FROM user WHERE uid IN 
       (SELECT uid2 FROM friend WHERE uid1 IN (SELECT uid2 FROM friend WHERE uid1 = $target_id) AND uid2=$source_id) 
        ORDER BY name";

       $user_info=$this->facebook->api(array('method'=>'fql.query',
                                    'query'=>$query));

    // we can check friend-of-friend for app user friends

       if(!empty($user_info)) {
           $degree='friend-of-friend'; 
       }
    else{
    $degree='none';
    }
    }

Пожалуйста, ответьте, если кто-нибудь знает какой-либо простой метод.

1 голос
/ 28 февраля 2012
 SELECT uid2 FROM friend WHERE uid1 = me() AND uid2 = {YOUR_FRIEND2_ID}

С помощью этого FQL-запроса вы можете проверить, является ли дать ID другом зарегистрированного пользователя. Он вернет пустой массив, если данные пользователи не являются друзьями. Facebook не дает вам друзей своего друга, поэтому вы не можете выйти за пределы зарегистрированного пользователя.

Чтобы прочитать таблицу друзей, вам нужно любой действительный токен доступа для извлечения друзей из текущего сеанса пользователя

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

Официальная документация Facebook на другом столе FQL

...