0

嗨,我正处于我的应用程序的测试阶段,因为除了 twitter 提要之外一切正常。出于某种原因,在我的手机上它可以在另一部手机上正常工作,但我收到了这个错误消息

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)

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

4

1 回答 1

1

发生这种情况是因为本质上这些小部件API clients与任何其他小部件一样API client,但它们向 API 发出未经身份验证的请求,而单个小部件IP address只有150 requests/hour.

如果您的任何其他设备、Web 浏览器应用程序IP address给定的时间块向 API 发出未经身份验证的请求,它将从池中递减。

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

您可以要求 Twitter 提高该限制:: 请参阅此处的流程

您可以查看这个有用的链接:

  1. 链接 1
  2. 链接 2
于 2012-08-14T11:39:18.640 回答