我有一個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 –