如何获取Facebook群组的照片,由群组管理员以外的人上传? (通过JavaScript)

时间:2011-11-02 20:54:25

标签: javascript facebook facebook-graph-api facebook-fql

我正在建立一个镜像Facebook群组的网站,我想从Facebook中提取该群组的任何照片并将其显示在我的网站上。但是照片可能会被完美的陌生人上传:所以基本上,一个随机的人会拍摄该组的照片并将其上传到Facebook,我们希望该照片能够在我们的网站上显示。

我可以想到三种方法:

  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下载照片并在我们的网站上重新上传自己的相册,我知道如何展示。

  4. 请告诉我有比#3更好的方法吗?

1 个答案:

答案 0 :(得分:0)

我写了一个小PHP应用程序,将我的Facebook新闻源(/ me / home)转换为RSS,并且可以通过Google阅读器订阅。虽然我的项目与发布无关,但我认为你需要一些与我在那里使用的offline_access类似的技术。

因此,首先,您需要虚拟的Facebook用户帐户,该帐户具有在群组中阅读和发布的权限(因为这是一个公共群组,因此可以免除您的麻烦)

使用“offline_access”获取此用户的access_token以及发布所需的其他范围,例如直接网址示例http://developers.facebook.com/docs/reference/dialogs/oauth/

然后......将访问令牌硬编码到PHP脚本中

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

因此,该脚本将充当该用户。浏览镜像网站的任何人都不需要Facebook帐户。

解决了身份验证问题后,其余只需简单编码即可查询,上传,发布。希望这会有所帮助