2011-11-02 51 views
2

我正在爲一個反映facebook組的網站建立一個網站,並且我想從facebook上拉取該組的任何照片並將它們顯示在我的網站上。但照片可能由完美的陌生人上傳:基本上,一個隨機的人拍攝該照片並將其上傳到Facebook,我們希望該照片在我們的網站上可見。如何獲取Facebook羣組的照片,由羣組管理員以外的人上傳? (通過JavaScript)

我能想到的三種方式來做到這一點:

  1. 標籤的照片作爲組,找到標記爲組

    看來你不能讓圖形API的所有照片訪問標記爲特定組的照片(請證明我錯了)。我可以在FQL:SELECT images FROM photo WHERE pid in (SELECT pid FROM photo_tag WHERE subject=GROUP_ID)中做到這一點,但從我所知道的情況來看,這需要網站訪問者登錄Facebook來創建一個FB會話,這是不好的。

  2. 「分享」在我們的FB頁面照片並某種方式找到我們我們的網頁上共享的所有照片

    我似乎不能想辦法來限制搜索共享對象的照片,但我願意接受建議。照片自己

  3. 重新上傳到一組控制的相冊

    MEH。前兩個選項不涉及在Facebook上創建任何新對象,並且將是首選,但我很難做到其中任何一個,這使我從Facebook下載照片並將它們重新上傳到我們的自己的相冊,我知道如何展示。

請告訴我,還有比#3更好的方法嗎?

回答

0

我已經寫了一個小小的PHP應用程序,它將我的Facebook新聞提要(/ me/home)轉換爲RSS,並且可以通過Google閱讀器進行訂閱。儘管我的項目與發佈無關,但我認爲您需要一些類似的技術,以及我在那裏使用的offline_access。

所以,首先,你需要具有的權限讀取和組中發佈(因爲這是一個公共組,以便節省你一些麻煩)

獲取的的access_token假的Facebook用戶帳戶與出版喜歡這裏直接鏈接例如http://developers.facebook.com/docs/reference/dialogs/oauth/

然後要求「offline_access」等範圍該用戶...硬編碼的訪問令牌到PHP腳本

$access_token = the access token from oauth; 
$facebook->setAccessToken($access_token); 

爲此,該腳本將採取行動作爲那個用戶。任何瀏覽鏡像網站的人都不需要Facebook帳戶。

解決了認證問題後,剩下的只是查詢,上傳,發佈的簡單編碼。希望這會有所幫助

+0

我沒有使用PHP,所以我沒有使用PHP的Facebook API,但我很欣賞這個建議。仍在尋找基於JavaScript的答案。 – carpeliam

+0

我認爲你可以,但不推薦。因爲訪問令牌將被公開,並且JS可能在不同的瀏覽器中反應棘手。您仍然需要獲得上述第一個訪問令牌。不知道是否在他們的JS API中有一個函數來設置訪問令牌,但是通過啓用'jsonp'的$ .get()函數,jQuery將是一個不錯的選擇。 – Madevil

+0

哦,等等...我不得不說這是不推薦的。因爲人們可以使用來自JS控制檯的代碼注入來混淆虛擬賬戶。 (我剛剛用螢火蟲進行測試,可惜注射工作...)我不確定是否脫掉髮布權就可以避免這種威脅。 – Madevil

相關問題