2010-07-19 217 views
3

我正在使用谷歌應用程序引擎,並希望從給定用戶下載推文。twitter超過谷歌應用程序引擎的速率限制

我只是打電話http://api.twitter.com/1/statuses/user_timeline/USERNAME.json

但幾乎總是(大約99%的時間),我得到「頻率超過上限,客戶可以不使時速超過150個請求:」這個問題,有事情做與谷歌App Engine雲基礎設施?我該怎麼辦? (例如存儲其它服務器上的數據,然後從那裏調用...)

回答

8

確實這個問題有事情做 與谷歌的App Engine雲 inrastructure

是。

我們正在調用API的方法是rate-limited

的默認速率限制呼叫 的REST API是每小時150個請求。 REST API的帳戶和 基於IP的速率限制。已認證 API調用收取 認證用戶的限制,而 未認證的API調用從調用IP地址' 分配中扣除 。

如果您的應用程序具有專用IP,此工作正常;在App Engine上,許多應用程序可能會爲其urlfetch請求使用相同的源IP,因此未經身份驗證的對Twitter API的請求都將從相同的配額中抽取。

我還沒有測試過這個,但我的理解是即使對於不需要認證的呼叫,如果您選擇認證您的請求,它也將被計入您的帳戶配額而不是共享IP配額。

Nick Johnson發佈了a tutorial關於如何從App Engine向Twitter發送已認證的API調用。

+0

你是對的 - 對於這個API,你可以進行身份​​驗證,並根據你的憑證進行速率限制。唯一的例外是搜索或流媒體API,它根本不支持認證。 – 2010-07-20 08:44:37

+0

我在註冊我的應用時遇到了問題,(每次嘗試註冊時都會出現Twitter錯誤頁面)。所以提取用戶頁面(twitter.com/USERNAME)和「解析」頁面非常好。你如何回答看起來非常好,所以我認爲把它標記爲有效是正確的。 – juanefren 2010-07-21 05:29:33