2010-07-16 82 views
3

我寫了一個小型java程序,可以從twitter下載所有朋友和關注者的個人資料圖片。但是我收到一個錯誤,因爲每個IP地址每小時只允許150個請求。Twitter API請求限制問題

確切的錯誤是:

twitter4j.TwitterException: 400:The request was invalid. An accompanying error message will explain why. This is the status code will be returned during rate limiting. 
<?xml version="1.0" encoding="UTF-8"?> 
<hash> 
    <request>/users/show/92715794.xml</request> 
    <error>Rate limit exceeded. Clients may not make more than 150 requests per hour.</error> 
</hash> 

有沒有解決這個問題的方法... ???請幫忙...

+0

哦,是的,你爲什麼不使用OAuth? BASIC Http身份驗證自2010年7月1日起已被棄用。您每小時可以獲得350個請求。唯一的問題是你需要在Twitter.com上創建一個應用程序。 – 2010-07-16 13:24:47

+2

可能只是巧合,但錯誤消息中的Twitter用戶似乎與其中一個「填寫調查問卷」的垃圾郵件網站和谷歌搜索URL以及「垃圾郵件」導致許多相同的推特被盜用或虛假的Twitter帳戶。這樣的垃圾郵件是Twitter首先限制速度的原因之一 – barrowc 2010-07-17 06:30:50

回答

6

作爲開發者,您可以請求將您的帳戶列入白名單,將限制提高到20 000個請求/小時。更多詳情http://apiwiki.twitter.com/Rate-limiting

+0

正是我要說的。 +1 – RobertPitt 2010-07-16 13:12:46

+0

我不知道這個! +1 – 2010-07-16 13:12:59

+0

感謝Løkling...我填寫了表格... – codemaniac 2010-07-16 13:31:33

1

有沒有解決這個問題的方法......?

是的。放慢您的流程,以便每小時只能處理150個請求。

+0

由於我需要下載個人資料照片,因此我無法放慢速度。如果我只是建立一個嘰嘰喳喳客戶端,我可以有。 – codemaniac 2010-07-16 13:12:55

1

您可以

  1. 將您的應用白名單(20 000 REQ /小時)
  2. 而不是做身份認證的請求的,使用OAuth(350 REQ /小時)
  3. 慢認證向下請求

判斷您的描述,我不知道您是否可以期望獲得白名單。考慮到你不會獲益太多,實施OAuth可能不值得遇到麻煩。看來你堅持要慢一點。

+0

Twitter現在有OAuth認證,BASIC已被棄用。 – 2010-07-16 13:24:10

+0

你是對的,我澄清了我的答案。 – 2010-07-16 13:31:59

+0

爲什麼我不能期望獲得白名單.. ??什麼是標準......? – codemaniac 2010-07-16 13:33:00