我有一個關於Facebook限制你的API呼叫的方式的問題。Facebook的5000郵政API限制
實現這一文章的底部:http://developers.facebook.com/blog/post/478/ Facebook表示:
除了對上面列出的每個表和連接的文檔中提到的限制,它是有幫助的知道的最大數目結果我們將在運行之前提取可見性檢查爲5,000。
我想知道如何通過這樣的公共數據頁面。例如,採取夏奇拉:她就要她上傳的每張照片很多很多的喜歡,這個API調用:
結束了在5000個喜歡停止。
一個有趣的一點是,這個數據是所有市民,我不必登錄到Facebook上看到它。我知道有關於的隱私政策如何您使用的數據,這不是我的問題。如果數據是公開的,這些數據是什麼,爲什麼我們無法全部獲得,如果可以的話,如何?
的主要問題是:
你能得到5000個結果爲特定的API調用,如上面的一個?
它是最近5000個喜歡嗎?因此,如果您立即開始在這篇文章中收集數據,然後每隔10分鐘左右返回一次以尋找新喜歡,那麼您是否能夠通過這種防止5000限制的方法獲取所有數據?
它是API調用的限制,還是僅限於發送給一個用戶的結果數量,還是他們爲特定帖子發送的結果數量等?
這是否適用於帖子,標記和評論和分頁?
我知道這個問題有點開放,但我已經找遍了各地的答案,它沒有很好的記錄。任何幫助都會很棒,我想很多人將來可能會參考這些信息。
UPDATE:
運行此API調用時:
你回來一個結果,從而達到最大極限(以及至少接近)。有人建議使用FQL,可能會返回更多。但我嘗試在PHP中使用FQL做同樣的事情,並且只返回1條記錄。
$select = urlencode("SELECT user_id, object_id, post_id FROM like WHERE post_id='5027904559_10150854808869560' LIMIT 1000 OFFSET 4964");
$fql_query_url = 'https://graph.facebook.com/fql?q=' . $select;
$fql_query_result = file_get_contents($fql_query_url);
$fql_query_obj = json_decode($fql_query_result, true);
所以,到目前爲止,唯一的答案是「不」,你總是有限的,以5000分的結果。我不認爲/知道具有某些特定權限的特定access_token是否有幫助。
再一次更新,當我去夏奇拉的頁面並點擊'x這樣的人數'並開始向下滾動列表時,我也達到了極限。因此,Facebook不僅限制了API和FQL的回報,而且限制了他們自己的頁面。
我想查看是否有人知道爲什麼?他們一次只有5K緩存,如果有人要求這麼多的請求,他們將無法處理這個規模?只是一個猜測。
即使數據公開可用,我也很驚訝,說實話。至少我希望這隻適用於註冊的應用程序開發人員,即使這樣,只有當用戶的隱私首選項設置爲允許該特定開發人員使用時。 – halfer
是的,不是每個人的數據都是公開的,但粉絲頁面確實有一些公開的數據。像夏奇拉。 – chantheman
嗨@chantheman,你解決這個/找到一種替代方法? –