我正在使用打开图形来获取脸书页面内容。问题是,对于访问图表结果的匿名用户,每个帖子显示的喜欢,分享和评论计数为零。这是我用于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;
这很容易,请尝试一下