2013-02-25 60 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的一切都没问题。