从相册中获取20张最新照片(JSON)

时间:2013-05-21 20:30:26

标签: php json facebook facebook-graph-api

我正在尝试使用以下JSON Feed从相册中获取20张最新照片:(link

我的代码目前有效,唯一的问题是它们不是专辑中最新的照片:

<?php
    $pic_url = "https://graph.facebook.com/10151316456544622/photos?fields=picture,name,source,created_time&limit=20"; //change limit to allow more items
    $pictures = json_decode(file_get_contents($pic_url));
    $countpic= sizeof ($pictures->data); // get the number of pics for later use
    for($p=0; $p<$countpic; $p++):
        $thumb_url = "https://graph.facebook.com/".$pictures->data[$p]->id."/picture";
        $thumb = $pictures->data[$p]->source;
?>
    <li>
        <a href="<?php echo $thumb_url; ?>" class="fresco hover" data-fresco-group="facebook" data-fresco-caption="<?php echo $pictures->data[$p]->name; ?>">
            <div><div class="hover"></div><img style="width: 225px; height:250px;" title="<?php echo $pictures->data[$p]->name; ?>" alt="<?php echo $pictures->data[$p]->name; ?>" src="<?php echo $thumb_url; ?>"></div>
        </a>
    </li>
<?php endfor; ?>

1 个答案:

答案 0 :(得分:1)

您可以考虑使用更适合您所拥有的情况的FQL,而不是从Graph API获取结果。您可以在类似于图谱API的photos内查询album FQL(documentation),也可以按created时间递减相同的订单,这样您就可以获得最近的一个。查询将类似于

select src,created,caption from photo where album_object_id=10151316456544622 
order by created desc limit 20

您可以通过此link查看。

此外,我希望您通过一些访问令牌访问Facebook的资源,只是为了防止以后出现任何错误。您可以使用App Access令牌,因为它看起来是公开可用的数据。