2012-06-25 206 views

回答

0

下面是commentsposts的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 

     } 
    } 
); 

儘管在服務器端取得評論可能更有意義 - 取決於您的使用案例更有意義。

+0

請注意,我不知道任何文章ID,只是我的網頁的URL –

+0

@ToniMichelCaubet - 你能詳細談談那一點?就像在網頁或Facebook頁面那樣的「頁面」? – egasimus

+0

是我的網站上有內容的一個網頁。例如,這個頁面(如你所見,有自己的評論系統,我想追加評論完成vía臉書)http://funcook.com/receta.php?id=53 –

2

是的,你可以。最簡單的方法是撥打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> 
+0

哇!聽起來不錯!將測試這個,讓你知道,謝謝你的寫作 –

+0

你可以讓api電話?我不知道如何輸入查詢 –

+0

在電話中編輯了我原來的回答。 Multiqueries具有與我預期不同的語法。 – cpilko