如何使用开放图表获取facebook中个人帖子的喜欢,分享,评论?

时间:2015-01-20 07:34:39

标签: php count facebook-opengraph

我使用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 Facebook页面ID 。有没有办法用匿名用户自己计算每个帖子的喜欢,分享和评论。任何帮助将不胜感激。谢谢。

2 个答案:

答案 0 :(得分:0)

您无法以匿名用户身份访问私人数据。在Facebook应用程序和FB-oAuth的情况下,您需要访问令牌(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

答案 1 :(得分:-1)

在这里输入代码
  <?php
  $ fql =" SELECT share_count,like_count,comment_count&#34 ;;
  $ fql。=" FROM link_stat WHERE url =' $ url'&#34 ;;
  $ 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,真正的);
  $ output = curl_exec($ ch);
  curl_close($ CH);
  $ facebookdata json_decode($ output);
  echo $ facebookdata [0] - > share_count;

回声"< br>";
  // facebook喜欢计数
  echo $ facebookdata [0] - > like_count;
  echo"计数< br>";
  // facebook评论数
  echo $ facebookdata [0] - > comment_count;
  这很容易请尝试