4

如何檢查兩個Facebook ID之間的關係?即朋友,朋友的朋友或沒有關係。通過fql或圖形API方法(任何東西)。通過facebook api獲取兩個Facebook ID之間的關係(朋友,朋友的朋友)

我知道如何獲得朋友列表,Facebook的共同朋友。但我想要一個可以給出兩個Facebook ID之間關係的適當方法。我Google搜索了很多,但沒有得到任何與我的問題有關的信息。

+0

我已經給出解決方案後,研究和它的工作。因此被接受。 – 2012-12-20 09:36:37

回答

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

如果有人知道任何簡單的方法,請回答。

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

通過此FQL查詢,您可以檢查給ID是否是當前登錄用戶的好友。如果給定的用戶不是朋友,它將返回一個空數組。 Facebook不會給你朋友的朋友,所以你不能超越登錄的用戶。

要閱讀的朋友表,則需要 任何有效的access_token獲取當前會話的用戶

這是該表可查詢的,朋友的朋友可不要被檢索的唯一用戶的朋友。

Facebook offical documentation on friend FQL table

+0

對不起,我可以通過fql查詢(應用程序用戶)檢查朋友的朋友。我想用任何簡單的方法檢查。我們可以得到作爲應用用戶的朋友的朋友。 – 2012-02-28 14:13:26