我想從Facebook獲得一些數字,告訴我哪些帖子對於給定Facebook頁面以及給定日期範圍內的喜歡,評論和份額最多。如何從Facebook的API獲得最受歡迎,評論和共享的帖子
我可以得到這些數字,如果我查詢API獲取所有單獨的帖子,並通過他們在我自己的代碼中循環,但我經常從API「600每秒600次呼叫」的速率限制錯誤從他們那裏,因爲我正在爲每個職位打電話。我試過使用FB的批處理圖形請求,但這並沒有減少獲得該錯誤的可能性。
有沒有辦法做到這一點,我不需要打這麼多的電話?
我想從Facebook獲得一些數字,告訴我哪些帖子對於給定Facebook頁面以及給定日期範圍內的喜歡,評論和份額最多。如何從Facebook的API獲得最受歡迎,評論和共享的帖子
我可以得到這些數字,如果我查詢API獲取所有單獨的帖子,並通過他們在我自己的代碼中循環,但我經常從API「600每秒600次呼叫」的速率限制錯誤從他們那裏,因爲我正在爲每個職位打電話。我試過使用FB的批處理圖形請求,但這並沒有減少獲得該錯誤的可能性。
有沒有辦法做到這一點,我不需要打這麼多的電話?
是的,你必須進行個別的API調用。批量api請求計爲正常請求[0]:
例如,一批10個API調用將計爲10個調用,批處理中的每個調用都以相同方式對CPU資源限制作出貢獻。
我的技巧:在數據庫
[0] - https://developers.facebook.com/docs/graph-api/making-multiple-requests/#limits
您可以使用FQL(這將提供至少要等到2016年4月30日)在一個調用來實現:
select post_id, comment_info.comment_count, like_info.like_count, share_info.share_count from stream where source_id={PAGE_ID}
只需將{PAGE_ID}
替換爲實際的頁面ID。您還可以通過具有read_stream
權限的頁面訪問令牌運行此操作。
如果你只想頁的帖子,添加以下到FQL查詢:
and actor_id={PAGE_ID}
FQL將於2015年4月30日(Graph API v1.0結束)提供,並僅適用於2014年4月30日前創建的應用程序。https://developers.facebook.com/docs/reference/fql/ https:// developers.facebook.com/docs/apps/changelog/ – smalu
正確理解您的事實:您引用的第一個鏈接是這樣說的:「2.0版的Facebook Platform API是FQL可用的最後一個版本。 2.0之後的版本將不支持FQL'這明確指出FQL將在v2.0中可用。 https://developers.facebook.com/docs/apps/versions/#howlong表示:「一個版本將在後續版本發佈日期的兩年後不再可用。因此,如果API版本2.0於2014年4月30日發佈,並且API版本2.1於2014年5月30日發佈,那麼v2.0將於2016年5月30日發佈,即v2.1發佈兩年後即可過期。# – Tobi
好吧,我同意與你有關FQL。 – smalu
要找到一個最流行的,獨立的API調用是去我認爲唯一的出路。/page/statuses會在一次調用中返回所有帖子。但是如果您有超過600個狀態更新需要比較,則可能需要等待10分鐘。 – Fredrik