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