2011-03-21 94 views
4

我正在努力解決一個非常簡單的問題。 facebook文檔一如既往,沒有給我足夠的解釋。關於Facebook評論插件的一個簡單問題

我將一個Facebook註釋插件附加到我的網站。並且使用「comment.create」事件的回調,我可以獲得剛創建的評論的信息。

FB.Event.subscribe('comment.create', function(response) { 
    alert(JSON.stringify(response)); 
}); 

JSON的效應初探樣子:

{"href":"http://siteaddress.com/page.htm", "commentID":"111122223333" } 

我喜歡現在做的是檢索與commentID單註釋的數據。雖然我預計下面的方式應該工作:

https://graph.facebook.com/111122223333 

它只是給了我「假」。我可以使用來獲取連接到該頁面所有評論:

https://graph.facebook.com/comments?ids=http://siteaddress.com/page.htm 

但是,什麼是檢索只是用commentID創建的單個註釋數據的正確方法?

+0

請只編輯您的問題以提供更多信息。 – 2011-03-21 08:52:35

回答

0

嗨,如果你有評論編號,那麼爲什麼你不使用FQL和查詢到Comment Table獲得所有評論相關數據?

+0

謝謝,Awais。它是使用commentID檢索評論數據的唯一方法嗎?該文件說,使用post_fbuid(comment'create返回的commentID)查詢是不可能的,因爲它沒有索引。您能否使用commentID向我展示一個FQL示例? – 2011-03-21 13:11:28

0

我有這個相同的問題。似乎發生的情況是,commentID和parentCommentID實際上只是返回該頁面的唯一ID,而不是註釋本身的唯一ID。

單個註釋的唯一ID是該頁面的唯一ID(即,當前正在返回的值爲「commentID」),下劃線後跟另一個數字(我已完成的測試中有8位數字)。您可以直接從響應提供的圖表中查看。

我已經記錄了一個與Facebook的錯誤,希望得到這個修正!臭蟲在以下地址:

http://bugs.developers.facebook.net/show_bug.cgi?id=16535

+0

感謝您的回覆,@達倫。 看來,使用FB.event.subscribe()並沒有簡單的方法來檢索並保存您的評論。 順便說一句,我發現了一個解釋評論同步問題的博客文章: [link] http://www.loadedguntheory.com/blog/listpost/tim/Syncing_Comments_with_Facebook.html [/ link] – 2011-04-18 05:27:08

9

我也面臨同樣的問題...所以我所做的就是,我問最後發表的評論或使用FQL從FB意見表答覆。在這裏,我按照時間降序排列評論,並選擇最佳評論。儘管有人可能會認爲如果同時發佈兩條評論,可能會引起歧義,但在我的情況下,我嘗試並測試了超過2個用戶,但我總是得到預期的結果。

FB.Event.subscribe('comment.create', function(response) { 
    FB.api({ 
     method: 'fql.query', 
     query: "select post_fbid, fromid, object_id, text, time from comment where object_id in (select comments_fbid from link_stat where url ='URL_OF_THE_COMMENT_BOX') or object_id in (select post_fbid from comment where object_id in (select comments_fbid from link_stat where url ='URL_OF_THE_COMMENT_BOX')) order by time desc limit 1" 
     }, 
     function(response) { 
     var feed = response[0]; 
     alert(feed.text) 
     } 
    ); 
    }); 
0

我結合了幾種方法(包括來自Charsee)。

//此查詢需要「commentID」和「href」。 CommentID返回comment.create「響應」對象

//此代碼需要一個轉義函數「addslashes(str)」來處理單引號。()()()()()()()()()()()()()()()()()()()()()()()或object_id in(選擇post_fbid from comment where object_id in(從link_stat選擇comments_fbid,其中url ='「+ addslashes(href)+」'))「;」