2012-04-12 92 views
1

使用圖形API,我們可以訪問任何對象(如用戶,事件,照片等)的圖像(如果提供了其ID)。使用圖形API檢索照片的圖像位置

所以,如果我需要找回我的用戶配置文件PIC 我可以

https://graph.facebook.com/100000109274242/picture

做我的ID是100000109274242

以上URL重定向我https://fbcdn-profile-a.akamaihd.net/hprofile-ak-snc4/49592_100000109274242_1437093998_q.jpg

哪個我的圖片的實際網址。 我需要編寫一個JS函數,使用它我需要檢索照片的實際URL。 我不能做任何事情,因爲我不明白從哪裏開始使用JS。

回答

1
  • 首先加載並初始化JavaScript的Facebook的SDK:https://developers.facebook.com/docs/reference/javascript/ (部分負載)
  • 你應該FB API互動,只有當JS SDK初始化。下面是一個例子斷開呼叫:

      FB.api(100000109274242+'/picture',function(userImage){ 
           alert(userImage); 
          }); 
    

UPD 完整的示例。 HTML:

<div id="fb-root"> 
    <!-- you must include this div for the JS SDK to load properly --> 
</div> 
<script> 
    window.fbAsyncInit = function() { 
    FB.init({ 
     appId  : 'YOUR_APP_ID', // App ID 
     channelUrl : '//WWW.YOUR_DOMAIN.COM/channel.html', // Channel File 
     status  : true, // check login status 
     cookie  : true, // enable cookies to allow the server to access the session 
     xfbml  : true // parse XFBML 
    }); 

    FB.api(100000109274242+'/picture',function(userImage){ 
     alert(userImage); 
    }); 
    }; 

    // Load the SDK Asynchronously 
    (function(d){ 
    var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0]; 
    if (d.getElementById(id)) {return;} 
    js = d.createElement('script'); js.id = id; js.async = true; 
    js.src = "//connect.facebook.net/en_US/all.js"; 
    ref.parentNode.insertBefore(js, ref); 
    }(document)); 
</script> 
+0

我在同一頁面上有大約20個IDS的用戶!我可以通過在上面的代碼中更改ID的值來檢索它們的全部嗎? – 2012-04-12 18:40:09

0

如果你只是想顯示你可以簡單地使用直接在第一個鏈接的圖像:

<img src="https://graph.facebook.com/100000109274242/picture"> 

由於這是一個302重定向,瀏覽器就會進行處理並顯示最終圖片而不需要你用JS解決它。我不確定你是否真的想要你的JS中的URL,或者你認爲你需要解決它。

順便說一句,如果你有興趣,這是該網址的標題響應,它發回一種類型的JPEG和重定向到實際的圖形。

curl --HEAD https://graph.facebook.com/100000109274242/picture 
HTTP/1.1 302 Found 
... 
Content-Type: image/jpeg 
Expires: Sat, 01 Jan 2000 00:00:00 GMT 
Location: https://fbcdn-profile-a.akamaihd.net/hprofile-ak-snc4/49592_100000109274242_1437093998_q.jpg 
...
+0

其實我是希望將這個響應放在燈箱中,因爲我的燈箱不處理302響應,我需要給出圖像的確切位置來顯示它! – 2012-04-12 18:42:15