我已經看到某些(例如在quora)上提到的600個呼叫/ 600秒速率限制。Facebook圖形API速率限制和批量請求
我想知道的是我是否被允許在600秒內完成600 batch個請求(一個批量請求最多包含50個請求)。
我已經看到某些(例如在quora)上提到的600個呼叫/ 600秒速率限制。Facebook圖形API速率限制和批量請求
我想知道的是我是否被允許在600秒內完成600 batch個請求(一個批量請求最多包含50個請求)。
您應該通過檢查以下錯誤消息以編程方式處理速率限制。如果遇到錯誤,則應在下次調用之前放入時間等待循環。我的一個高流量應用程序帳戶監視這個錯誤,並且會放慢速度。
來源:https://developers.facebook.com/docs/bestpractices/
速率限制(API_EC_TOO_MANY_CALLS)如果您的應用程序發出了太多的呼叫,API服務器會自動打分限制你, 返回一個 「API_EC_TOO_MANY_CALLS」 的錯誤。一般來說,這不應該發生 。如果是這樣,那是因爲你的應用程序已經確定 正在進行太多的API調用。迭代您的代碼,以便儘可能少地撥打 以保持所需的用戶體驗 。您還應該避免複雜的FQL查詢。要了解 如果您的應用程序被限制,請轉到「見解」並點擊 「限制」。
編輯
正如評論跟帖報告IGY,在那批數爲1的每個請求您的600例子是最大極限,這意味着你可以火了15名批次的請求每個包含50個呼叫。
從我的經驗來看,無論他們的方式如何(分批或不分批),他們都會計算個人請求。例如,如果我試圖做1個批/秒,每個包含10個請求,我很快就會得到'太多的電話'。
如果我正在做1批/ 10秒,每個批次包含10個請求,我從來沒有看到過多的電話。
我個人沒有看到任何理由更喜歡批量定期API調用。
批次調用必須按批次中的每個項目進行計數。一個包含50個項目的批次調用相當於使用該圖表的50個api調用。
根據FB文檔,批處理中的每個元素都被視爲一個單獨的調用。
我們目前限制其可以是一個批次 至50的請求的數量,但該批次內的每個呼叫被用於計算API調用限制和資源限制的 目的分開計數的。例如,對於 示例,一批10個API調用將計爲10個調用,並且批處理中的每個調用 都會以相同的 方式貢獻CPU資源限制。
引自:https://developers.facebook.com/docs/reference/api/batch/
我沒有經驗證據不過。
大衛
我有相當與Facebook的API一個天大的痛苦,現在的經驗,我可以說:
我正在做的最頻繁的圖形API調用包含了很多嵌套的字段,我注意到在做了200次之後我達到了「600次/ 600秒」。所以基本上這個調用計數在我的情況下,3 ...
你有很多其他的速率限制但沒有人得到妥善記載...
「我們目前限制批請求數50 「。 - [Facebook](https://developers.facebook.com/docs/reference/api/batch/)。 50什麼?每分鐘,每天,用戶請求!? – Xeoncross 2012-07-10 17:12:29
我想知道同樣的事情。 50個併發請求,請求每分鐘,每天,每次換尿布? – 2012-08-15 15:44:40
嗯..我想嘲笑FB,但是閱讀他們的文檔澄清了一些事情:「我們目前將可批量處理的請求數量限制爲50個,但批處理中的每個調用都會單獨計算以用於計算API調用限制和資源限制,例如,一批10個API調用將計爲10個調用,批處理中的每個調用都以相同的方式對CPU資源限制做出貢獻。「 – 2012-12-19 03:30:56