通过Graph API获取Facebook评论,但不要从社交插件Facebook评论框中获取隐藏的评论
我已经使用了从URL获取Facebook评论。很好用 但我有个问题。从框中隐藏的注释(社交插件),并显示在API的JSON响应中。但我不想让这些出现在我的照片里。而且,无论是否是有节制的评论,都没有字段可以获取信息通过Graph API获取Facebook评论,但不要从社交插件Facebook评论框中获取隐藏的评论,facebook,facebook-graph-api,facebook-comments,Facebook,Facebook Graph Api,Facebook Comments,我已经使用了从URL获取Facebook评论。很好用 但我有个问题。从框中隐藏的注释(社交插件),并显示在API的JSON响应中。但我不想让这些出现在我的照片里。而且,无论是否是有节制的评论,都没有字段可以获取信息 Array( [id] => 10150178257599373_16650724 [from] => Array ( [name] => Books, EBooks [category] => Auth
Array(
[id] => 10150178257599373_16650724
[from] => Array
(
[name] => Books, EBooks
[category] => Author
[id] => 182404265135935
)
[message] => Thank you, Facebook
[created_time] => 2011-06-06T03:21:06+0000
)
如您所见,没有信息为“中等”的字段。我该怎么办?双重温和
您可以通过为每个新评论创建一个数据库条目,并在Facebook上主持评论后,在数据库中标记该评论,然后仅打印标记的评论。这有点烦人,但到目前为止可能是唯一的解决方案:(
如果Facebook能够在其JSON中实现这些信息,或者最好只在Graph API中添加有节制的评论,那就太好了。我最近遇到了这个问题,并且能够使用FQL获得没有标记为私有的评论(我认为这意味着未减额?)我是用javascript编写的,但没有理由不能用php或其他语言重写代码
fql = "SELECT post_fbid, fromid, object_id, text, time, comments FROM comment WHERE object_id IN (SELECT comments_fbid FROM link_stat WHERE url ='" + commentsUrl + "') and is_private = 0 limit 10";
获取此数据后,循环并获取所有用户ID:
FB.api({method: 'fql.query',query: fql},function (comments) {
$.each(comments, function (index, comment) {
userIds.push(comment.fromid);
});
});
使用用户ID,使用graph api获取每个用户名,并创建一个类似于graph api的json响应的对象:
FB.api('?ids=' + userIds.join(','), function (responseIds) {
$.each(comments, function (index, comment) {
comment.message = comment.text;
comment.created_time = comment.time;
comment.from = {id: comment.fromid, name: responseIds[comment.fromid].name};
});
});
类似于问题:请参见此处的答案:-)