2011-11-22 103 views
1

我正在嘗試使用Graph API訪問用戶的朋友工作和教育歷史記錄。我在auth對話中包含了兩個權限。我嘗試使用FQL訪問它們,但沒有運氣。使用FB Graph API獲取用戶朋友數據

try{ 
     $fql = "select friends_education_history from permissions where uid=" . $user; 
     $param = array(
      'method' => 'fql.query', 
      'query'  => $fql, 
      'callback' => '' 
     ); 
     $fqlResult = $facebook->api($param); 
    } 
    catch(Exception $o){ 
     d($o); 
    } 
} 

我寧願不使用FQL訪問信息,但在這一點上,我需要弄清楚任何方式。有沒有辦法做這樣的事情:

if($user_id) { 
    try { 
     $friends = $facebook->api("/me/friends"); 
    } 
    catch(Exception $o){ 
     d($o); 
    } 
} 
?> 

然後調用各自的變量?

回答

0

你FQL查詢會是這個樣子:

SELECT education,work from user WHERE uid IN (SELECT uid2 FROM friend WHERE uid1 = me()) 

上面的查詢將從登錄用戶的朋友獲取所有的教育和工作對象。

SELECT education,work from user WHERE uid = <YOUR FRIENDS USER ID> 

上面的查詢會得到教育和工作僅僅是一個用戶ID您提供

希望這有助於!

+0

非常感謝。現在很好走。 – buttonitup

+0

馬特,如果您可以將它標記爲答案,如果它適合您,那將是非常好的。謝謝,祝你好運! – TheV

+0

@buttonitup爲你做了這項工作? – emersonthis

0

User graph api object有字段educationwork

權限user_education_history & friends_education_history需要用於第一,user_work_history & friends_work_history用於第二。

這些字段是可選的&用戶可以通過她的個人資料頁限制其可見性,因此即使授予了權限,api也可能不會返回任何內容。使用Graph api explorer玩。

+0

我有這個完全相同的問題。我向用戶請求了正確的權限,但是如果我從'/ me/friends?fields = work,education'切換到'/#user_id#/ friends?fields = work,education,則API不會返回這些字段'。 – emersonthis

相關問題