我们的网站使用我们自己的评论系统(简单的PHP/MySQL),也是fb评论插件。我希望能够添加每个评论计数以显示来自两者的单个评论总数。看起来很简单。Facebook Graph API评论数突然停止工作
几个月前,我得到了这个工作。然后它突然停止工作。今天早上,我找到了一个新的方法来做到这一点。在一个页面上工作,当我将代码添加到所有我们有评论的页面时,它就不再有效。
我拉着我的头发试图得到这个工作,几乎没有理解JSON。 FB API浏览器给我提供了一个有关授权令牌的错误,但按照我推荐的方式进行的操作没有任何效果(即创建一个新的fb应用程序并包含它们提供的授权代码块)。
这是起初这个上午工作的罚款:
$fbcounturl = 'http://www.catalystathletics.com/articles/article.php?articleID=1902';
$fbjsonurl = "https://graph.facebook.com/v2.1/?fields=share{comment_count}&id=" .$fbcounturl;
$fbdata = file_get_contents($fbjsonurl);
$fbarray = json_decode($fbdata, true);
$fbcomcount = $fbarray['share']['comment_count'];
print($fbcomcount);
然后,我可以简单地$ fbcomcount从我们的数据库添加到$ comCount。
如果我只是浏览的网址,我得到罚款JSON信息:
{
"share": {
"comment_count": 3
},
"id": "http://www.catalystathletics.com/articles/article.php?articleID=1902"
}
但是$ fbcomcount是空的。
这里是一个网页,将使用的一个例子 - http://www.catalystathletics.com/article/1902/Jumping-Forward-in-the-Snatch-or-Clean-Error-Correction/#comments
任何帮助,将不胜感激。
您正在使用的内容不包括授权令牌。这是一个独特的关键,它可以让Facebook跟踪你的服务器有多少点击量,并根据他们的策略限制它们。 https://developers.facebook.com/docs/facebook-login/access-tokens阅读他们的官方文档。你需要追加你的json url&access_token = app_id | app_secret,你可以通过做你之前提到的系统告诉你做的事情来获得它。 – 2015-03-24 21:57:28
运行代码时,$ fbdata,$ fbarray和$ fbcomcount是什么? – WizKid 2015-03-24 21:57:29
@EarleDavies在短暂的时间内它正常工作,它没有令牌。然而,我的理解是,这确实是问题所在,但是由于似乎存在几个相互矛盾的答案,所以我对我能找到的文档和其他信息感到困惑。要传递令牌,我只需将id/secret添加到原始$ fbjsonurl中的查询字符串中?我会尽快尝试一次,我有机会。谢谢。 – gmoney 2015-03-25 23:40:27