在应用内使用Facebook相册图片

时间:2012-04-23 11:53:27

标签: facebook image gallery

是否可以在另一个网站内显示使用Facebook应用程序(由用户上传到用户的facebook画廊)制作的图像?

2 个答案:

答案 0 :(得分:1)

是的,这是可能的,但用户必须授权您访问他们的照片。

您可以通过获得扩展权限来执行此操作:

$uid = $facebook->getUser();  

$url = $facebook->getLoginUrl(array(  
'req_perms' => 'user_photos' ));  

答案 1 :(得分:1)

您可以检索她已使用其他应用上传的当前用户的图片。当前用户需要使用访问令牌登录,您需要

read_stream
user_photos

权限。

您可以使用FQL查询和一些客户端解析来检索照片的网址:

首先,在FQL流表中查询流媒体附件,其中字段“app_id”=其他应用的ID。

SELECT attachment FROM stream WHERE source_id=me() AND app_id=OTHER_APP_ID

这将检索使用其他应用完成的所有帖子的附件。

查询可以进一步缩小,如下所示,但我没有数据集来测试它:

SELECT attachment FROM stream WHERE source_id=me() AND app_id=OTHER_APP_ID AND type=247

其中247表示照片。它可以为你节省一些客户端的工作(两个看起来很乱,也许有人可以提出更好的陈述......)。

获得响应后,解析JSON。每个“附件”都有一个名为“media”的字段,它是一个数组。对于每个数组项,检查type =“photo”。如果是,则“src”字段将包含指向上传照片的小版本的URL链接。

为了说明,这是JSON响应示例的开始:

"attachment": {
    "media": [
      {
        "type": "photo", 
        "src": "https://...._s.jpg", 
         //etc

JSON响应还包含指向其他大小的链接。

有关流表格的详细信息,请参阅Facebook Developers docs