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