我正在尝试使用以下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; ?>
答案 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令牌,因为它看起来是公开可用的数据。