2013-02-25 63 views
2

這種情況很奇怪。我知道答案,但它不起作用。如何使用FQL從fbid獲取Facebook照片?

我用php寫了一個照片上傳系統。該圖片將從我的服務器上傳到Facebook,並返回給我fbid。因此,我可以使用此fbid運行FQL來獲取照片的不同大小。 FQL是:

SELECT src_small, src_big, images FROM photo WHERE object_id=[fbid] 

這項工作很好,在我的PHP系統。它返回一個包含不同圖片大小的url的數組。我將它們保存在數據庫中,包括fbid。有時它得到NoPic字,所以我決定從Facebook檢查這張照片數組。我再次在我的系統中運行FQL,並嘗試使用Facebook圖形API工具。他們都返回空數組集。

然後,我使用Facebook鏈接來檢查對象是否存在,它的工作。

https://www.facebook.com/photo.php?fbid=220817144722724

這意味着該對象存在,但我不能從FQL得到它了... 我怎麼能再次得到它?

+0

它與我合作。使用[Graph API Explorer](https://developers.facebook.com/tools/explorer),您可以:** 1 **。運行'SELECT aid,owner,name FROM album'WHERE owner = me()'。 ** 2 **。選擇您上傳照片的相冊ID。 ** 3 **。運行'SELECT pid,src_big,aid,object_id FROM photo WHERE aid =「THE_ALBUM_ID_YOU_JUST_GOT」'。 ** 4 **。檢查剛剛上傳的照片是否真的存在?請更新您的初始帖子,瞭解更多信息。此外,您用來發布照片的Graph API查詢是什麼?您是將照片發佈到新專輯還是退出專輯? – 2013-02-25 12:37:10

+0

mmm ...這更奇怪...我使用Facebook開發人員圖形API工具運行第一個FQL。它返回空數組....關於上傳方法,我使用facebook php API:$ photo = $ this-> facebook-> api('/'。'user_fbid。'/ photos','POST',$ content) ,其中$內容有照片鏈接。 – 2013-02-26 01:51:18

回答

0

如果您成功上傳了您的照片,這意味着您無疑設置了photo_upload權限。不幸的是,這個權限只允許你POST的照片,而不是GET他們。

因此,我想你忘了設置user_photos權限。或者,您可能沒有將它設置在正確的位置,或者它沒有被您的FQL查詢重新使用?

肯定是這樣,因爲我試了一下,Facebook的一切都沒問題。