使用facebook分页显示用户的照片

时间:2012-01-28 19:54:24

标签: php facebook paging photos

您好我正在尝试在我的应用程序中显示用户的照片,但我不希望它们也出现在同一页面中,因为它们可能会很多并且会导致延迟。我没有找到任何好的例子来帮助我管理它。这是我的代码:它目前只显示前25张照片,上一页和下一页按钮已打破

if ($user) {

  try 
 {
$curPage = $_REQUEST["page"];
$curOffset = $curPage * 25;
$nextPage = $curPage + 1;
if ($curPage > 0) {
  $prevPage = $curPage - 1;
} else {
  $prevPage = 0;
} 
 $photos = $facebook->api('/me/photos/photos&offset='.$curOffset.'&limit=25');
 echo '<table><tr>';
foreach($photos['data'] as $photo)
{

 if($a <= 4){ //number of cells in row  print ('<a href="editor.php?photo_id='.$photo['id'].'"><img src='{$photo['picture']}'.'</a>'/>');

  echo '<td>';
  //echo "<img src='{$photo['picture']}' />";
  print ('<a href="editor.php?photo_id='.$photo['id'].'"><img src='.$photo['picture'].' /></a>');
  echo '</td>';
     $a++;
    }
 else {
  echo '</tr><tr>';
  echo '<td>';
    print ('<a href="editor.php?photo_id='.$photo['id'].'"><img src='.$photo['picture'].' /></a>');

  //echo "<img src='{$photo['picture']}' />";
  echo '</td>';
    $a = 1;
    }

}
echo '</tr></table>';
$canvas_base_url = "http://apps.facebook.com/piggypic/";
 echo '<center><a href="'.$canvas_base_url.'taggedphotos.php?page='.$prevPage.'"><-- prev page</a>';

echo '<a href="'.$canvas_base_url.'taggedphotos?page='.$nextPage.'">next page --></a></center>';

任何帮助都将非常感激。请伙计们,我已经做了好几天......

1 个答案:

答案 0 :(得分:2)

当您为limit的来电提供offsetgraph.facebook.com参数时,您应该对Graph API Explorer进行一些试验(如上所述)应该在响应分页链接中找到下一批和上一批项目 - 查看Graph API Explorer查询此端点的结果的片段:

https://graph.facebook.com/me/photos?limit=10&offset=15

     ...
  "paging": {
    "previous": "https://graph.facebook.com/me/photos?limit=1&format=json&since=1306425592&__previous=1", 
    "next": "https://graph.facebook.com/me/photos?limit=1&format=json&until=1306425591"
  }
}

正如您所看到的,前一次通话的响应中已存在链接。试一试 - 这是一个很棒的工具。