我正在尝试对Twitter提要进行简单的解析,我只是在twitter上请求用户的json提要并将其解析为对象。
问题是这在模拟器上工作得很好但是当部署在真实设备上时,我得到了400个错误的请求响应,这似乎是超过了403的速率限制,但这是第一个发送的请求,那么速率如何限制被超过?
public ArrayList<Tweet> getTweets() {
ArrayList<Tweet> tweets =
new ArrayList<Tweet>();
HttpClient client = new DefaultHttpClient();
HttpGet get = new HttpGet(twitterUrl);
ResponseHandler<String> responseHandler =
new BasicResponseHandler();
String responseBody = null;
try {
responseBody = client.execute(get, responseHandler);
} catch(Exception ex) {
ex.printStackTrace();
timeOut = true;
}
JSONObject jsonObject = null;
JSONArray arr = null;
try {
arr = new JSONArray(responseBody);
} catch (JSONException e1) {
e1.printStackTrace();
timeOut = true;
}
for (int i = 0; i < arr.length(); i++) {
try {
jsonObject = arr.getJSONObject(i);
} catch (JSONException e1) {
e1.printStackTrace();
timeOut = false;
}
Tweet tweet = null;
try {
tweet = new Tweet(
jsonObject.getJSONObject("user").getString("name"),
jsonObject.getString("text"),
jsonObject.getJSONObject("user").getString("profile_image_url"),
twitterHumanFriendlyDate(jsonObject.getString("created_at"))
);
} catch (JSONException e) {
e.printStackTrace();
timeOut = true;
}
tweets.add(tweet);
}
return tweets;
}
以下是解析Feed的示例:
我是否遗漏了必须要做的事情才能让它在设备上运行?我没有在Titter或其他任何地方注册过,我是否需要获得某种类似于Google地图密钥的Twiiter密钥?
编辑:它实际上是通过Wi-Fi工作但不是通过移动数据连接,他们是否可以防止移动连接的速率限制?答案 0 :(得分:0)
这是我的运营商的网络问题!遗憾!