参考下面的文章:
http://www.masteringapi.com/tutorials/how-to-create-a-user-photo-albums-browser-using-facebook-graph-api/77/
我正在创建一个使用Facebook图形API的用户相册浏览器。除了Pagination
之外,一切都运行得很好。问题出在$facebook->api
没有返回“上一个”分页链接。
以下是我的代码:
$params = array();
$params['offset'] = 0;
if (isset($_GET['offset']))
$params['offset'] = $_GET['offset']+25;
if (isset($_GET['limit']))
$params['limit'] = $_GET['limit'];
$params['fields'] = 'name,source,images';
$params = http_build_query($params, null, '&');
$album_photos = $facebook->api("/{$_GET['id']}/photos?$params");
if (isset($album_photos['paging'])) {
if (isset($album_photos['paging']['next'])) {
$next_url = parse_url($album_photos['paging']['next'], PHP_URL_QUERY) . "&id=" . $_GET['id'];
}
if (isset($album_photos['paging']['previous'])) {
$pre_url = parse_url($album_photos['paging']['previous'], PHP_URL_QUERY) . "&id=" . $_GET['id'];
}
}
如果我正在打印以下内容:
echo '<pre>';
print_r($$album_photos['paging']);
exit;
结果显示的链接如下:
[paging] => Array
(
[next] => https://graph.facebook.com/133750480034063/photos?fields=name,source,images&offset=0&limit=25&after=MzI0ODMwNTYwOTI2MDUz
)
这意味着paging
数组只为next
返回链接,而不为previous
返回链接。
如何获取previous
链接。
任何帮助都将不胜感激。
发布于 2013-01-04 16:49:09
结果显示的链接如下:
[next] => https://graph.facebook.com/133750480034063/photos?
fields=name,source,images&offset=0&limit=25&after=MzI0ODMwNTYwOTI2MDUz
,这意味着分页数组只为下一个返回链接,而不为上一个返回链接。
在偏移量为0的情况下,显然没有以前要检索的数据集。
Facebook在去年年底改变了这一点,称如果确实有更多数据需要获取,他们现在只返回前一个/下一个URL。(并非适用于所有连接,但适用于某些连接。)
这是一件好事,因为它使开发人员不必为了发现没有更多的数据而发出另一个耗时的HTTP请求。
因此,如果它们存在,并且您需要更多数据,则使用它们-如果它们不存在,则什么也不做。
https://stackoverflow.com/questions/14151955
复制相似问题