【问题标题】:How to get count of likes,shares,comment for individual post in facebook using open graph?如何使用开放图计算 facebook 中单个帖子的点赞数、分享数、评论数?
【发布时间】:2015-01-20 07:34:38
【问题描述】:

我正在使用 Open graph 来获取 facebook 页面内容。问题是 匿名用户 访问 graph 结果 它显示的点赞数、分享数和 cmets每个帖子都为零。这是我用于 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->idfacebook 页面 id 。有没有什么方法可以统计每个帖子的点赞数、分享数和评论数。任何帮助将不胜感激。在此先感谢。

【问题讨论】:

  • How to track social likes count 的可能重复项
  • @lin :我在这里使用了开放图形方法,而且我的问题是匿名用户访问 Facebook 页面。
  • 我的回答正确吗? -> “明白,需要创建 facebook 应用才能访问所有这些分享、喜欢、评论等。”
  • 是的,但我仍然无法获得分享数??
  • 你能标记我的答案吗?

标签: php count facebook-opengraph


【解决方案1】:

您不能以匿名用户身份访问私人数据。您需要一个访问令牌 (FB-oAuth) 以防 Facebook 应用程序和 Users/Page/App permissions 访问私人数据。

您可以使用 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

【讨论】:

  • 作为匿名用户,我能够获取该页面的内容,例如标题、描述和图像等。唯一的问题是即使有值,它对于喜欢、分享和 cmets 的显示为零在每个帖子的 facebook 页面中。
  • @Ram、分享、cmets 甚至喜欢都可以设置为“私人”数据。如果用户不允许您读出 cmets 或页面不允许您读出“喜欢等”。 -> 隐私是这样设置的。您无法“匿名”访问该数据。您需要访问令牌和几乎页面/用户权限。 Facebook 不是 4chan ;)。干杯。
  • 明白,需要创建 facebook 应用才能访问所有这些分享、喜欢、评论等。
【解决方案2】:

在此处输入代码
$fql = "选择 share_count、like_count、comment_count";
$fql .= " FROM link_stat WHERE url = '$url'";
$fqlURL = "https://api.facebook.com/method/fql.query?format=json&query="。 urlencode($fql); // Facebook 响应是 JSON $ch = curl_init(); curl_setopt($ch,CURLOPT_URL,$fqlURL);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
$output = curl_exec($ch);
curl_close($ch);
$facebookdata json_decode($output);
echo $facebookdata[0]->share_count;

回显“
”;
// facebook 喜欢 count
echo $facebookdata[0]->like_count;
回声“计数
”;
// 脸书评论计数
echo $facebookdata[0]->comment_count;
很简单,试试吧

【讨论】:

    猜你喜欢
    • 2016-08-15
    • 1970-01-01
    • 1970-01-01
    • 2015-03-05
    • 2014-01-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多