如何从包含所有喜欢和评论的页面中获取所有帖子?

Posted

技术标签:

【中文标题】如何从包含所有喜欢和评论的页面中获取所有帖子?【英文标题】:How to get all post from a page with count ALL likes and comments? 【发布时间】:2013-07-22 03:59:07 【问题描述】:

附上一个问题... 我尝试使用所有提要喜欢和评论在一段时间内检索页面。或者..实际上我只需要总体喜欢和 cmets 的总数。

到目前为止...

$user_pages = $facebook-> api ('/ me / accounts');

  ...

$page_feeds = $facebook-> api ("/". $ page_name ['id']. '/ feed', 'GET', array ('limit' => 10000, 'since' => mktime (0,0, 0, date ("m"), 1, date ("Y"))));

  ...

foreach ($page_feeds ['data'] as $ page) 

    $c = $facebook-> api ("/" $ page ['id'] "/ likes", "GET", array ('limit' => 10000)..);
    $temp ['likes'] = count ($ c ['data']);

    $c = $ facebook-> api ("/" $ page ['id'] "/ comments", "GET", array ('limit' => 10000)..);
    $temp ['comments'] = count ($ c ['data']);



  .....

所以我得到了我作为管理员的所有页面,然后从本月的第一天开始提供所有页面。这一直持续到答案出现为止。但问题是我最多只能获得最多 25 个最多 25 个喜欢和评论。 (API 文档中描述的“计数”一词,但我在这里遗漏了。

所以现在我必须在循环中调用每个 feed 上的所有喜欢和 cmets,然后获取数字。

这些查询现在需要三分钟......这显然太长了......

这不是很好的方式吗?我已经能够找到任何东西。 我希望我这个查询

$page_feeds = $ facebook-> api ("/". $ page_name ['id']. '/ feed', 'GET', array ('limit' => 10000, 'since' => mktime (0,0, 0, date ("m"), 1, date ("Y"))));

可以调整,然后所有喜欢和cmets(或至少数字)获得

150769909716/feed?fields=likes.limit(10000).fields(id),comments.limit(10000).fields(id)&limit=10000&since=1372608000

不幸的是,最多只给我回了 25 个赞和 cmets。

提莫

#

编辑:

https://graph.facebook.com/[pageid]/feed?fields=likes.limit%2810000%29.fields%28id%29,comments.limit%2810000%29.fields%28id%29&locale=de_DE&since=1372608000&limit=10000&access_token=yyyy

给我:


   "data": [
      
         "id": "xxx_xxx",
         "created_time": "2013-07-23T07:08:25+0000",
         "likes": 
            "data": [
               
                  "id": "xxxx"
               ,
            ],
            "paging": 
               "cursors": 
                  "after": "xxx",
                  "before": "xxxx"
               ,
               "next": "xxxx"
            
         ,



https://graph.facebook.com/[pageid]/feed?since=1372608000&limit=10000&access_token=yyyy

给我:(是的,我的伯爵在那里……但只有浏览器调用)

"likes": 
            "data": [
               
                  "name": "xxx",
                  "id": "xxx"
               ,
                ],
            **"count": 53**
         ,

每次调用相同的调用给我的结果没有 Count 数据....

【问题讨论】:

【参考方案1】:

不幸的是,Facebook 已删除,因为您在查看帖子时看到了喜欢和 cmets 的总数。相反,您需要为每个帖子再次调用以检索总喜欢或 cmets。 他们还将其从 count 重命名为 total_count

例子:

为了喜欢

https://graph.facebook.com/POST_ID/likes/?summary=true

它会返回类似这样的东西


  "data": [
    
      "id": "xxxx",
      "name": "xxxxx"
    ,
    
      "id": "xxxx",
      "name": "xxxxx"
    ,
    
      "id": "xxxx",
      "name": "xxxxx"
    ,
    
      "id": "xxxx",
      "name": "xxxxx"
    
  ],
  "paging": 
    "cursors": 
      "after": "NTU2MTU3NjU0",
      "before": "MTA4OTM4NzgwMA=="
    
  ,
  "summary": 
    "total_count": 4
  

对于 cmets:

https://graph.facebook.com/POST_ID/comments/?summary=true


  "data": [
    
      "id": "xxxxx",
      "from": 
        "category": "Media/news/publishing",
        "category_list": [
          
            "id": "xxxxxx",
            "name": "xxxx"
          ,
          
            "id": "xxxxxx",
            "name": "xxxx"
          
        ],
        "name": "xxxxx",
        "id": "xxxxx"
      ,
      "message": "xxxxxxx",
      "can_remove": false,
      "created_time": "2013-07-03T20:36:54+0000",
      "like_count": 0,
      "user_likes": false
    
  ],
  "paging": 
    "cursors": 
      "after": "Mg==",
      "before": "Mg=="
    
  ,
  "summary": 
    "order": "ranked",
    "total_count": 2
  

【讨论】:

如何找到帖子的 post_id。

以上是关于如何从包含所有喜欢和评论的页面中获取所有帖子?的主要内容,如果未能解决你的问题,请参考以下文章

使用 adonisJs 从所有帖子中获取所有相关评论

如何从 Wordpress 页面/帖子中获取所有标签作为简码列表?

如何使用 mongodb 和 mongoose 从帖子模型中计算整体帖子活动(喜欢、不喜欢、评论)和用户模型中的参考总和

移动应用帖子的 Facebook 洞察中的空故事点击、喜欢和评论

cakephp 查找所有有评论的帖子

如何获取用户 ID 并以 Angular 6 的形式返回他的帖子及其评论