如何使用打开的图表获取Facebook中单个帖子的喜欢,分享,评论计数


How to get count of likes,shares,comment for individual post in facebook using open graph?

我正在使用打开图形来获取脸书页面内容。问题是,对于访问图表结果匿名用户,每个帖子显示的喜欢,分享和评论计数为零。这是我用于php的代码。

$graph_url = "http://graph.facebook.com?id=".urlencode($feed_url);
 $content = json_decode(file_get_contents($graph_url));
 $account_url  = "https://www.facebook.com/feeds/page.php?id=".$content->id."&format=json";

这里的 content->id脸书页面 ID .有没有办法获取匿名用户本身的每个帖子的喜欢,分享和评论计数。任何帮助将不胜感激。提前谢谢。

您不能以匿名用户身份访问私人数据。您需要一个访问令牌(FB-oAuth),以防具有Facebook应用程序和用户/页面/应用程序权限才能访问私人数据。

您可以使用 fql 或图形 API 尝试它。如果您尝试访问"私人"数据。确保您之前创建了Facebook应用程序,并解锁了所需的所有用户权限。意思是,流阅读我认为:https://developers.facebook.com/docs/facebook-login/permissions/v2.2。没有该权限,您将无法访问私人数据。

公开示例:http://graph.facebook.com/386050065267_10153256675935268/comments?summary=true

SELECT like_info.like_count, comment_info.comment_count, share_count 
  FROM stream 
 WHERE post_id IN (
       SELECT concat(id,'_', substr("https://www.facebook.com/Macklemore/posts/10153256675935268", strpos("https://www.facebook.com/Macklemore/posts/10153256675935268", '/posts')+7, strlen("https://www.facebook.com/Macklemore/posts/10153256675935268"))) 
        FROM profile WHERE username IN (
             SELECT substr(url, strpos(url, 'facebook.com/')+13, strpos(url, '/posts')-strpos(url, 'facebook.com/')-13) 
               FROM object_url 
              WHERE url = "https://www.facebook.com/Macklemore/posts/10153256675935268"))

结果:

{
  "data": [
    {
      "like_info": {
        "like_count": 5506
      }, 
      "comment_info": {
        "comment_count": 353
      }, 
      "share_count": 392
    }
  ]
}

可以像以下方式获取公共数据:

http://graph.facebook.com/386050065267_10153256675935268/comments?summary=true

https://www.facebook.com/PAGE_ID/posts/POST_ID

在此处输入代码
<?php
$fql ="选择share_count、like_count comment_count"; $fql .= " 从link_stat 其中网址 = '$url'"; $fqlURL = "https://api.facebook.com/method/fql.query?format=json&query=" .乌伦科德($fql);Facebook 响应采用 JSON $ch = curl_init();curl_setopt($ch,CURLOPT_URL,$fqlURL); curl_setopt($ch,CURLOPT_RETURNTRANSFER,真); $output = curl_exec($ch); curl_close($ch); $facebookdata json_decode($output);
回声$facebookdata[0]->share_count;

echo "
";
Facebook喜欢Count
回声$facebookdata[0]->like_count;
echo " count
";
脸书评论计数
回声$facebookdata[0]->comment_count;
这很容易,请尝试一下