Facebook图形api评论分页

时间:2017-09-01 11:57:14

标签: php facebook facebook-graph-api pagination

我正在尝试使用以下api url请求获取帖子的所有评论:

$fb->get($yourPage.'/feed?fields=comments.limit(100)&limit=25&since=2017-7-01&until=2017-7-31', $accessToken);

但有些帖子有超过500条评论,这些评论在api响应中产生了“(下一个)”的分页。现在我想检索所有的评论,所以我如何通过“评论”分页,因为我知道如何通过这些代码分页:

    $response = $fb->get($yourPage.'/feed?fields=comments.limit(500)&limit=25&since=2017-7-01&until=2017-7-31', $accessToken);
    $comments = $response->getGraphEdge();
    $totalcomments = array();

    if ($fb->next($comments)) {
//Do something if there is pagination in the posts
}

那么我如何做同样的评论呢?我在堆栈和谷歌搜索了很多,但没有问题指向这...谢谢

1 个答案:

答案 0 :(得分:0)

每个评论对象都包含一个分页对象:

{
  "comments": {
    "data": [
      {
        "created_time": "2017-09-01T12:06:19+0000",
        "from": {
          "name": "xxx",
          "id": "1234"
        },
        "message": "xxx",
        "id": "1234"
      },
      ...
    ],
    "paging": {
      "cursors": {
        "before": "NzkZD",
        "after": "NzgZD"
      },
      "next": "https://graph.facebook.com/v2.10/cccccc/comments?access_token=xxx&pretty=0&limit=2&after=NzgZD"
    }
  },
  "id": "xxx"
}

对于您获得的每个帖子,您需要一个子例程(例如,使用递归函数)在单独的API调用中使用“next”参数来获取所有注释。