4

2つのFacebookID間の関係を確認するにはどうすればよいですか?つまり、友達、友達の友達、または関係はありません。fqlまたはgraphapiメソッド(何でも)によって。

フェイスブックIDの友達リスト、相互友達を取得する方法を知っています。しかし、私は2つのFacebookID間の関係を与えることができる適切な方法が必要です。私はたくさんグーグルで検索しましたが、私の問題に関連するものは何も得られませんでした。

4

2 に答える 2

1
 SELECT uid2 FROM friend WHERE uid1 = me() AND uid2 = {YOUR_FRIEND2_ID}

このFQLクエリを使用すると、giveIDが現在ログインしているユーザーの友達であるかどうかを確認できます。指定されたユーザーが友達でない場合は、空の配列が返されます。Facebookは友達の友達を提供しないので、ログインしているユーザーを超えることはできません。

フレンドテーブルを読み取るには、現在のセッションユーザーのフレンドを取得するための有効なaccess_tokenが必要です。

これは、このテーブルを照会できる唯一のユーザーであり、友人の友人を取得することはできません。

友人のFQLテーブルに関するFacebookの公式ドキュメント

于 2012-02-28T13:36:23.943 に答える
1

私は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';
    }
    }

誰かが簡単な方法を知っているなら答えてください。

于 2012-03-01T05:25:41.000 に答える