2011-03-22 86 views
2

說我是一個用戶登錄到我的網站使用Facebook,通過類似下面的網址讓:如何通過Facebook獲取用戶朋友的列表?

http://www.facebook.com/dialog/oauth?client_id=$appId& 
redirect_uri=$return&scope=user_birthday,email,user_location 

會不會有,我得到的所有用戶的好友和顯示圖片列表(路哪裏可用)?我可以使用哪種圖形API函數來執行此操作?

回答

3

您必須執行一個查詢到https://graph.facebook.com/me/friends

樣品是在這裏:http://developers.facebook.com/docs/reference/api/

而且只要你有用戶ID - 你可以點你<img src="" />http://graph.facebook.com/<user_id>/picture網址。

+0

這不是沒有訪問令牌的工作,對不對? – pal4life 2012-05-21 20:38:00

+0

@ pal4life:'access_token'標識用戶。那麼,如果沒有'access_token',你怎麼看待'/ me'? ;-) – zerkms 2012-05-21 20:58:42

1

確保你已經在Facebook上設置了一個應用程序,因爲你需要一個API密鑰來使用官方的Facebook apis來完成大部分的操作。 Here是一個很好的參考,如果你仍然需要這樣做,從喬伊里維拉。只需按照第一部分設置應用程序,並將所有人聯繫起來。

API函數將是FB.api("/me/friends")(Source)。它返回一個JSON對象數組,每個朋友的Facebook ID和Name。如果您想獲取圖片,則需要查詢列表中的每個朋友相當於FB.api("/me/picture/"。你可以用FQL來做到這一點,嵌入在朋友列表的for語句中。或者,一個簡單的API調用[Friend Facebook id]/picture類似的方法會給你,如果它是公開的。

您可能仍然需要明確詢問圖片文件,因爲它只會給你文件名。

這假設您的應用程序的Javascript實施。

1

用於用戶登錄正確的Facebook驗證後.....

,你可以使用FQL查詢訪問他的好友列表....

爲我以下的罰款...... 。

<?php 
    try 
    { 
     $fql = "SELECT uid, name, pic_square FROM user WHERE uid = me() 
        OR uid IN (SELECT uid2 FROM friend WHERE uid1 = me())"; 
     $param = array(
      'method' => 'fql.query', 
      'query'  => $fql, 
      'callback' => '' 
     ); 
     $fqlResult = $facebook->api($param); 

    } 
    catch(Exception $o) 
    { 
     d($o); 
    } 
    ?> 
0

試試這個:

http://graph.facebook.com/<user_id>/picture 

如:

http://graph.facebook.com/4/picture 

這將顯示標記的照片

相關問題