2013-03-25 76 views
20

我想通過Facebook的opengraph API檢索特定帖子的評論和喜歡。儘管我確實收到了一些信息,但並不總是與帖子中提到的評論/如count相匹配。我想這可以歸因於我使用的令牌的訪問權限。但是,我注意到結果會根據請求的限制的不同而有所不同,有時我也會在請求之間得到重複條目。如何檢索所有張貼評論/喜歡通過Facebook OpenGraph

例如,在撰寫本文時,發佈的10376464573_150423345118848約有14000個喜歡,但我最多隻能檢索5000個左右。默認限制爲25個,我最多可以達到3021個喜歡。 100的值爲4501,而1000,2000,3000和5000的限制都返回相同數量的喜歡4959(絕對值沒有太大的意義,它們只是用於比較)。

我已經注意到類似的結果在較小規模的意見。

我使用a simple python script來抓取頁面。它檢查Facebook提供的分頁鏈接後的數據,將每個檢索頁面寫入單獨的文件。一旦遇到空的回覆,它就會停止。

有了小的限制(例如默認值爲25),我注意到返回的結果數目在我經歷分頁鏈接時單調減少,這看起來很奇怪。

有什麼想法可能會導致此行爲,以及如何解決它?

+0

我認爲有5000個物體的限制。 [Facebook的5000發佈API限制] [1] [打破在Facebook的API 5000對象限制] [2] [1]:http://stackoverflow.com/questions/10422186/facebooks-5000-post-api-limit [2]:http://stackoverflow.com/questions/3452018/breaking-the-5000-object-limit-in-facebook-api – 2015-09-05 12:18:00

+0

沒有5000的限制,您可以輕鬆檢索Lady Gaga貼子的所有喜歡(目前約20.000) – 2015-09-30 21:27:35

回答

1

如果您正在尋找每個特定帖子的每個/每個評論/名稱的列表,我認爲您會遇到API限制(即使是分頁)。

如果您只是在尋找喜歡,評論,分享或鏈接點擊的總數,那麼您只需使用posts端點中提供的summary = true參數。有點像這樣:

try: 
    endpoint = 'https://graph.facebook.com/v2.5/'+postid+'/comments?summary=true&access_token='+apikey 
    response = requests.get(endpoint) 
    fb_data = response.json() 
    return fb_data 

您也可以檢索所有任何特定網頁的帖子及其彙總數據點:您可以檢索意見和像數或特定的其他信息

{page_id}/posts?fields=message,likes.limit(1).summary(true) 
1

發佈使用下面的url或api。

https://graph.facebook.com/{0}/comments?access_token={1}&limit={2}&fields=from,message,message_tags,created_time,id,attachment,like_count,comment_count,parent&order=chronological&filter=stream'.format(post_id,access_token,limit) 

如這裏指定爲按時間順序排列,則需要在相同的URL,其值可以在第一反應paging.cursor.after節得到參數後使用爲好。

相關問題