2010-12-16 165 views
1

我使用圖形API,我需要通過其UID獲取用戶的個人資料圖片。 這很容易做到:http://graph.facebook.com/ [Facebook的UID] /圖片如何使用'F'-logo獲取Facebook個人資料照片?

我記得,前段時間,這些配置文件上有一個litte'f'-char litte小標誌圖片。但現在,我只能得到沒有這個標誌的個人資料照片。

如何使用此'f'-logo獲取圖像?

回答

0

我認爲這是不可能的使用圖形api。

這是可能使用FQL(不知道是否仍能工作):

SELECT pic_with_logo FROM user WHERE uid = "..." 

或使用XFBML與<fb:profile-pic facebook-logo="true">

+0

Facebook上稱此配置文件的PIC與圖標..嘗試谷歌。也許你可以找到更好的東西,然後我。 – Martin 2010-12-19 01:35:06

4

Facebook並沒有存儲與在「F」的圖像,所以它的有點哈克得到他們。

我發現這工作:

你需要的最終圖像的URL,graph.facebook.com/[id]/picture重定向後。

http://external.ak.fbcdn.net/safe_image.php? & url = [imageurl] & logo

eg。 me

+0

不再適用於btw! – Parris 2013-01-12 02:25:26

+0

我沒有看到任何內容.. 但我無法在google或fb上找到此問題.. – Kalaschni 2013-06-20 20:15:17

0

使用jQuery和JS API可以使一個FQL電話:

FB.api({ method: 'fql.query', query: 'SELECT uid, pic_with_logo FROM user WHERE uid = me()' }, function(response) { 
    var user = response[0]; 
    $('#container').append('<img src="'+user.pic_with_logo+'"/><br>'); 
}); 

,你也可以試試:
pic_small_with_logopic_big_with_logopic_square_with_logopic_with_logo我示例使用。

這裏是用戶表:
https://developers.facebook.com/docs/reference/fql/user/

0

基於湯姆的回答,下面是PHP例子來獲取用戶的

$_json = json_decode(file_get_contents('http://graph.facebook.com/[FACEBOOK_UID]?fields=picture')); 
if (isset($_json->picture)) { 
    header("Location: http://external.ak.fbcdn.net/safe_image.php?&url=" . $_json->picture . "&logo"); 
    exit; 
} 

這裏是我們做什麼:

  • 查詢圖片網址通過opengraph
  • 從json對象獲取圖片url
  • 頁面重定向到具有另外&標誌Facebook的圖像處理程序,網址
相關問題