我有一个Facebook应用程序,它有自己的消息系统,但我仍然想显示用户在Facebook上从用户共享或喜欢做出的评论。从Facebook的喜欢获得评论?
假设一个URL(例如http://myapp.com/?myId=100005235)在Facebook中共享,并且人们向该共享添加评论。这些评论(和用户名)是我想要检索的。
我可以使用facebook-js-sdk吗?
我有一个Facebook应用程序,它有自己的消息系统,但我仍然想显示用户在Facebook上从用户共享或喜欢做出的评论。从Facebook的喜欢获得评论?
假设一个URL(例如http://myapp.com/?myId=100005235)在Facebook中共享,并且人们向该共享添加评论。这些评论(和用户名)是我想要检索的。
我可以使用facebook-js-sdk吗?
下面是comments和posts的Graph API参考。后者说每个帖子都有一个comments
对象。
我以前从未使用过Graph API,而且我也不擅长编写代码,因此我无法为您提供实际的代码,但也许会沿着这条线:
FB.api(
'/19292868552_10150189643478553', // fetch a post by its id
function(response) { // callback function
for (var comment in response["comments"]["data"]) {
// process comment
}
}
);
尽管在服务器端取得评论可能更有意义 - 取决于您的使用案例更有意义。
是的,你可以。最简单的方法是拨打FQL致电Facebook。你应该也能够用Graph API调用来做到这一点,但在我的测试中,我找不到一种方法来返回你想要的数据。
在FQL,你需要查询三个不同的表:link_stat
获得Facebook的ID为您的网址,comments
获得注释信息,并user
得到谁已经给出了评语注册的用户名。
多查询如下,扩展为可读性。
{
"my_link":
"SELECT comments_fbid, comment_count, normalized_url FROM link_stat WHERE
url ='http://funcook.com/receta.php?id=53' ",
"comment":
"SELECT object_id, fromid, time, text, username FROM comment WHERE
object_id IN (SELECT comments_fbid FROM #my_link)",
"com_users":
"SELECT name, uid FROM user WHERE uid IN (SELECT fromid FROM #comment)"
}
你会得到一个JSON对象。通过我网站上的一些测试网址,我发现my_link.comment_count
并不总是等于count(comment)
。我发现其中一个显示为零而另一个显示为零的情况。
这是一个脚本:
<script>
FB.api(
'/fql', {q:{"my_link":"SELECT comments_fbid, comment_count, normalized_url FROM link_stat WHERE url='http://funcook.com/receta.php?id=53'",
"comment":"SELECT object_id, fromid, time, text, username FROM comment WHERE object_id IN (SELECT comments_fbid FROM #my_link)",
"com_users": "SELECT name, uid FROM user WHERE uid IN (SELECT fromid FROM #comment)" }},
function(response){
console.log(response)
});
</script>
哇!听起来不错!将测试这个,让你知道,谢谢你的写作 –
你可以让api电话?我不知道如何输入查询 –
在电话中编辑了我原来的回答。 Multiqueries具有与我预期不同的语法。 – cpilko
请注意,我不知道任何文章ID,只是我的网页的URL –
@ToniMichelCaubet - 你能详细谈谈那一点?就像在网页或Facebook页面那样的“页面”? – egasimus
是我的网站上有内容的一个网页。例如,这个页面(如你所见,有自己的评论系统,我想追加评论完成vía脸书)http://funcook.com/receta.php?id=53 –