超过Android Twitter API速率限制

时间:2012-08-14 11:28:54

标签: android api twitter

嗨,我正处于我的应用程序的测试阶段,因为除了twitter feed之外一切正常。出于某种原因在我的手机上,它在另一部手机上工作正常,它没有,我收到此错误信息

08-14 12:24:18.730: W/System.err(25844): org.json.JSONException: Value {"error":"Rate limit exceeded. Clients may not make more than 150 requests per hour.","request":"\/1\/statuses\/user_timeline.json?screen_name=myleague&count=10"} of type org.json.JSONObject cannot be converted to JSONArray
08-14 12:24:18.730: W/System.err(25844):    at org.json.JSON.typeMismatch(JSON.java:111)
08-14 12:24:18.735: W/System.err(25844):    at org.json.JSONArray.<init>(JSONArray.java:91)
08-14 12:24:18.735: W/System.err(25844):    at org.json.JSONArray.<init>(JSONArray.java:103)
08-14 12:24:18.735: W/System.err(25844):    at .TwitterActivity.loadtweets(TwitterActivity.java:186)
08-14 12:24:18.735: W/System.err(25844):    at .TwitterActivity$PostTask.doInBackground(TwitterActivity.java:154)
08-14 12:24:18.735: W/System.err(25844):    at TwitterActivity$PostTask.doInBackground(TwitterActivity.java:1)
08-14 12:24:18.735: W/System.err(25844):    at android.os.AsyncTask$2.call(AsyncTask.java:264)
08-14 12:24:18.735: W/System.err(25844):    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)
08-14 12:24:18.735: W/System.err(25844):    at java.util.concurrent.FutureTask.run(FutureTask.java:137)
08-14 12:24:18.735: W/System.err(25844):    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)
08-14 12:24:18.735: W/System.err(25844):    at 

java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)

有谁知道为什么我之前在多部手机上试过它并且它有效。我认为速度限制不会达到但有点困惑吗?

1 个答案:

答案 0 :(得分:1)

这是因为基本上小部件是 API clients ,就像任何其他 API client 一样,但它们正在向API发出未经身份验证的请求,单个IP address只有150 requests/hour

如果IP address上的任何其他设备, Web浏览器 app 在给定的时间段内向API发出未经身份验证的请求,则会从泳池 递减

当另一个用户从不同的IP地址查看窗口小部件时,他们很可能看到它显示得很好。

您可以要求Twitter移动该限制::查看流程 here

您可以查看以下有用的链接:

  1. link-1
  2. link-2