2015-04-21 66 views
0

要讓FB從URL中抓取數據,我打電話https://graph.facebook.com,並通過PHP curl擴展名發佈id=url_encoded_url_to_scrape&scrape=true作爲發佈數據。我在通話間有1秒鐘的睡眠時間,並且在600秒內從來沒有超過最多35次通話(通常它更像是幾個通話)。但是,我越來越速率限制以下消息:Facebook圖形調用的極端速率限制

{ 
    "error":{ 
    "message":"(#4) Application request limit reached", 
    "type":"OAuthException", 
    "is_transient":true, 
    "code":4 
    } 
} 

從閱讀下面的SO帖子,我覺得我很好的速率限制(每IP600秒600元話費)內,並沒有什麼否則在這個虛擬機上運行,​​所以它不像另一個站點導致限制被擊中。 Facebook api: (#4) Application request limit reachedWhat's the Facebook's Graph API call limit?

有沒有人有任何提示如何解決這個問題或我做錯了什麼?我昨天已經爲大約20個電話工作,但除此之外,我認爲即使在開始工作時,我也總是在開發這個工作時得到速率限制信息。

回答

2

您至少應該將一個應用程序訪問令牌添加到該調用中,並查看有關請求限制的幫助。

據我所知,速率限制是動態的,Facebook並沒有爲此通報規則。

+0

好吧,我最初沒有走這條路,因爲它說:「這種類型的訪問令牌[應用令牌]是修改和讀取應用程序設置所必需的,它也可以用來發布Open Graph操作「,我不認爲我正在做什麼符合該描述(https://developers.facebook.com/docs/facebook -login/access-tokens),但我會試一試,看看它是否有幫助。 – g491

+1

我通過https://developers.facebook.com/docs/facebook-login/access-tokens#apptokens獲得了應用程序訪問令牌,並將其添加到我的POST中,並使問題消失。也許FB試圖阻止匿名圖形訪問API的使用。 – g491