2つのFacebookID間の関係を確認するにはどうすればよいですか?つまり、友達、友達の友達、または関係はありません。fqlまたはgraphapiメソッド(何でも)によって。
フェイスブックIDの友達リスト、相互友達を取得する方法を知っています。しかし、私は2つのFacebookID間の関係を与えることができる適切な方法が必要です。私はたくさんグーグルで検索しましたが、私の問題に関連するものは何も得られませんでした。
2つのFacebookID間の関係を確認するにはどうすればよいですか?つまり、友達、友達の友達、または関係はありません。fqlまたはgraphapiメソッド(何でも)によって。
フェイスブックIDの友達リスト、相互友達を取得する方法を知っています。しかし、私は2つのFacebookID間の関係を与えることができる適切な方法が必要です。私はたくさんグーグルで検索しましたが、私の問題に関連するものは何も得られませんでした。
SELECT uid2 FROM friend WHERE uid1 = me() AND uid2 = {YOUR_FRIEND2_ID}
このFQLクエリを使用すると、giveIDが現在ログインしているユーザーの友達であるかどうかを確認できます。指定されたユーザーが友達でない場合は、空の配列が返されます。Facebookは友達の友達を提供しないので、ログインしているユーザーを超えることはできません。
フレンドテーブルを読み取るには、現在のセッションユーザーのフレンドを取得するための有効なaccess_tokenが必要です。
これは、このテーブルを照会できる唯一のユーザーであり、友人の友人を取得することはできません。
私は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';
}
}
誰かが簡単な方法を知っているなら答えてください。