facebook组中的Feed分页

时间:2015-01-02 05:29:09

标签: php facebook facebook-graph-api

当我访问Facebook Feed时,这些是最后几行:

"paging": {
      "previous": "https://graph.facebook.com/v2.1/962582957103509/feed?limit=10&since=1420156351&access_token=xxx&__paging_token=enc_AezQonKWxBRti3bfaBZB6neom26Sz9fvsTXspJuJw6sOEoW8HOiTXZ2Ci5PiyeD69-Yfl4n7y4HFrv9wYUlcYVCRTRqz8P9osAFdwmTOq9Ehdg&__previous=1",


      "next": "https://graph.facebook.com/v2.1/962582957103509/feed?limit=10&access_token=xxx&until=1420134308&__paging_token=enc_Aexa_5g1FrfvOTcdIVludEkmqfstBYu3Chbs9WafB00XSu6XCk8zS4kkfaw_97WHy4PLt21BqEidTJ8GpN2ppyGoubteiueuwdycVh_yLLBPjg"
   }

这些行包含分组帖子组结果的数据。

使用PHP和json_decode我将其解压缩,创建两个表单来发送此分页数据并获取我的论坛中所有帖子的结果。

    if($_REQUEST['action']=="page")
    {

    if($_REQUEST['mode']=="next")
    {
    $url_data_content_group=json_decode(file_get_contents("".$_REQUEST['feednext'].""));
    }

    if($_REQUEST['mode']=="previous")
    {
    $url_data_content_group=json_decode(file_get_contents("".$_REQUEST['feedprevious'].""));
    }


    }
else
{
$url_data_content_group=json_decode(file_get_contents("https://graph.facebook.com/".$id_group."/feed?access_token=".$access_token."&limit=10"));
}




<form action="" method="post">
<input type="submit" name="next" value="Next Posts">
<input type="hidden" name="action" value="page">
<input type="hidden" name="mode" value="next">
<input type="hidden" name="feednext" value="<?php print "".$url_data_content_group->paging->next."&limit=10";?>">
</form>

<form action="" method="post">
<input type="submit" name="previous" value="Previous Posts">
<input type="hidden" name="action" value="page">
<input type="hidden" name="mode" value="previous">
<input type="hidden" name="feedprevious" value="<?php echo "".$url_data_content_group->paging->previous."&limit=10";?>">
</form>

分页工作完美并向我展示了每10个结果,问题是当我使用之前的分页时,它没有显示10个结果(从直到)。相反,它总是把我送回第一篇帖子。

例如,如果我获得200个结果并推翻前一个,则不会显示190个结果,它会显示我的第一个帖子。

我尝试了很多东西并且总是得到相同的结果,我不知道API是否有问题或者我做错了什么

这里似乎发生了什么?

1 个答案:

答案 0 :(得分:0)

分页信息似乎被打破了。在https://developers.facebook.com/bugs

提交错误

暂时您可以使用untillimit参数并保留对上一次请求的引用

实施例

  • &until=1420134308 Page 2
  • &until=1420123958 Page 1

注意:您的应用令牌已从此问题中移除,请保密,否则有人可以完全控制您的应用