如何检查两个 facebook id 之间的关系。?即朋友,朋友的朋友或没有关系。通过 fql 或图形 api 方法(任何东西)。
我知道如何获取朋友列表,facebook id 的共同朋友。但我想要一个合适的方法来给出两个 Facebook id 之间的关系。我用谷歌搜索了很多,但没有得到任何与我的问题相关的信息。
如何检查两个 facebook id 之间的关系。?即朋友,朋友的朋友或没有关系。通过 fql 或图形 api 方法(任何东西)。
我知道如何获取朋友列表,facebook id 的共同朋友。但我想要一个合适的方法来给出两个 Facebook id 之间的关系。我用谷歌搜索了很多,但没有得到任何与我的问题相关的信息。
我通过检查 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';
}
}
如果有人知道任何简单的方法,请回答。
SELECT uid2 FROM friend WHERE uid1 = me() AND uid2 = {YOUR_FRIEND2_ID}
通过这个 FQL 查询,您可以检查给定 ID 是否是当前登录用户的朋友。如果给定的用户不是朋友,它将返回一个空数组。Facebook 不给你朋友的朋友,所以你不能超越登录用户。
要读取朋友表,您需要任何有效的 access_token 来检索当前会话用户的朋友
这是唯一可以查询此表的用户,无法检索朋友的朋友。