2016-08-08 71 views
0

因此,我得到了一個網站,讓用戶登錄到應用程序,他/她將能夠訪問所有他們的照片在我的網頁中並編輯它們。如何使用Facebook API獲取基於Facebook圖像ID的圖像源(url),使用JS的Facebook API

我拿到專輯的方式是這樣的:

FB.api(
    "/me/albums", 
    function (response) { 
     if (response && !response.error) { 
      ... 
     } 
    } 
); 

然後獲取相冊ID列表後,我遍歷它們通過做讓自己各自的照片:

FB.api(
    "/"+albumId+"/photos", 
    function (response) { 
     if (response && !response.error) { 
      ... 
     } 
    } 
); 

這返回包含圖像ID的對象數組。

我認爲這將是通過使用FB.api("/imageId", function(){})但返回相同的圖像對象與ID。

我想獲取圖像源/完整路徑,所以我可以將它們添加到HTML IMG標記中。但我仍然有問題。

我看到,那就是從這個網址得到一個「JSON」這樣做的一些方法:

http://graph.facebook.com/"+photoId 

但是,扔下我一個認證錯誤,例如,如果我試圖讓使用AJAX它(威力是因爲阿賈克斯不包含FB對象所做的驗證)

我該如何獲得該結果?

在此先感謝。

+0

您需要詢問所需的字段,請參閱http://stackoverflow.com/a/32585470/1427878 – CBroe

+0

但我想獲取特定照片ID的網址,看起來像它會返回我已經有...如果我爲用戶領域照片user_photos,它會返回所有的照片ID,對不對? – msqar

+0

_「如果我爲用戶輸入字段」_ - - 什麼?您真正需要的是什麼信息 - Facebook上照片的URL,以便用戶可以在那裏查看? Facebook的CDN圖像的URL,以便您可以在您的網站的'img'元素中使用它?要麼 …? – CBroe

回答

0

所以從@CBroe得到一些文檔鏈接之後,我發現,這樣做

FB.api(
    "/"+photoId, {"fields" : "images"}, 
    function (response) { 
     if (response && !response.error) { 
      console.log(response) 
     } 
    } 
); 

通過發送場「圖像」,這將返回所有不同尺寸的特定圖像的絕對路徑。

如果你想要一個100x100px的縮略圖,你可以傳遞「圖片」作爲字段。