如何使用Facebook图表API来检索上传到粉丝页面的粉丝照片? [英] How to use Facebook graph API to retrieve fan photos uploaded to wall of fan page?

查看:125
本文介绍了如何使用Facebook图表API来检索上传到粉丝页面的粉丝照片?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用PHP和Facebook图形API创建一个外部照片库。它从我们的Facebook粉丝页面的相册中提取缩略图以及大图片。

I am creating an external photo gallery using PHP and the Facebook graph API. It pulls thumbnails as well as the large image from albums on our Facebook Fan Page.

除了我只能检索到ADMIN发布到我们的页面的照片,一切都很完美。 (graph.facebook.com/myalbumid/photos)有没有办法使用graph api从粉丝上载上传的照片?

Everything works perfect, except I'm only able to retrieve photos that an ADMIN posts to our page. (graph.facebook.com/myalbumid/photos) Is there a way to use graph api to load publicy uploaded photos from fans?

我想从照片来自专辑,但试图获取图形查询的ID不像其他相册...它看起来像这样: http://www.facebook.com/media/set/? set = o.116860675007039

I want to retrieve the pictures from the "Photos from" album, but trying to get the ID for the graph query is not like other albums... it looks like this: http://www.facebook.com/media/set/?set=o.116860675007039

另一个说明:我接近收回这个数据的唯一方法是使用feed选项.. ie: graph.facebook.com/pageid/feed

Another note: The only way i've come close to retreiving this data is by using the "feed" option.. ie: graph.facebook.com/pageid/feed

编辑:
这是关于我可以得到的 - 它的工作,但有一些问题如下所述。也许有人可以扩展这个,或者提供一个更好的解决方案。 (使用FB PHP SDK)

This is about as far as I could get- it works, but has certain issues stated below. Maybe someone could expand on this, or provide a better solution. (Using FB PHP SDK)

<?php
require_once ('config.php');
// get all photos for album
$photos = $facebook->api("/YourID/tagged");
$maxitem =10;
$count = 0;
foreach($photos['data'] as $photo) {
    if ($photo['type'] == "photo"):
        echo "<img src='{$photo['picture']}' />", "<br />";
    endif;
    $count+= 1;
    if ($count >= "$maxitem") break;
}
?>

与此有关的问题:

1)事实上,我不知道图形查询特定类型标签的方法,我不得不运行条件语句来显示照片。

1) The fact that I don't know a method for graph querying specific "types" of Tags, I had to run a conditional statement to display photos.

2)你不能有效地使用?limit =#,因为正如我所说的tagged查询包含所有类型(照片,视频和状态)。所以如果你要去一个照片库,并希望通过使用?limit来避免运行整个查询,你将丢失图像。

2) You cannot effectively use the "?limit=#" with this, because as I said the "tagged" query contains all types (photo, video, and status). So if you are going for a photo gallery and wish to avoid running an entire query by using ?limit, you will lose images.

3)显示的唯一内容在标记查询中,来自不是该页面管理员的人。这不是世界的尽头,但我不明白为什么Facebook不会允许自己在这些数据中显示,只要你发布它像你一样而不是页面。

3) The only content that shows up in the "tagged" query is from people that are not Admins of the page. This isn't the end of the world, but I don't understand why Facebook wouldn't allow yourself to be shown in this data as long as you posted it "as yourself" and not as the page.

推荐答案

您需要检索所有相册,然后获取所有照片。这可以通过使用FQL来轻松完成:

You need to retrieve all the albums and then get all the photos. This can be easily done by using FQL:

SELECT pid,owner,src_small,src_big 
FROM photo 
WHERE aid IN (
    SELECT aid 
    FROM album 
    WHERE owner = your_page_id
)

编辑:

此外,您还需要查询流表以获取墙上的帖子,然后检查是否有附件和附件的类型:


Also you need to query the stream table to get the wall posts then check if you have attachments and the type of the attachment:

SELECT attachment
FROM stream 
WHERE source_id = 116860675007039

结果:

[
  {
    "attachment": {
      "media": [
        {
          "href": "http://www.facebook.com/photo.php?fbid=1801693052786&set=o.116860675007039",
          "alt": "test",
          "type": "photo",
          "src": "http://photos-f.ak.fbcdn.net/hphotos-ak-snc6/185861_1801693052786_1553635161_1863491_4978966_s.jpg",
          "photo": {
            "aid": "6672812206410774346",
            "pid": "6672812206412558147",
            "fbid": 1801693052786,
            "owner": 1553635161,
            "index": 11,
            "width": 246,
            "height": 198
          }
        }
      ],
      "name": "",
      "caption": "",
      "description": "",
      "properties": [],
      "icon": "http://b.static.ak.fbcdn.net/rsrc.php/v1/yz/r/StEh3RhPvjk.gif",
      "fb_object_type": "photo",
      "fb_object_id": "6672812206412558147"
    }
  },
  {
    "attachment": {
      "description": ""
    }
  },
...etc
]

这篇关于如何使用Facebook图表API来检索上传到粉丝页面的粉丝照片?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆