TwitterException {statusCode = 403,retryAfter = 0,rateLimitStatus = null}

时间:2010-09-07 22:18:50

标签: java twitter twitter4j

我最近注意到在进行Twitter搜索时我一直收到403错误。我的应用程序工作到几天后才发现错误。

我查了一下Twitter&他们说我的IP没有被阻止,我也在速率限制内=大约60个搜索请求/每小时。

以下是我如何初始化Twitter对象 -

private static Twitter TWITTER_CLIENT = new TwitterFactory().getInstance();

在我发现错误之后,我尝试了以下&仍然没有成功 -

private static Twitter TWITTER_CLIENT = new TwitterFactory().getInstance("user", "password");

以下是我的搜索方式 -

TWITTER_CLIENT.search(new Query("#keyword1 OR #keyword2"));

我在服务器上尝试了这个网址(curl http://search.twitter.com/search.json?q=ipad)。它工作正常。

以下是例外。我在java6 + Twitter4j v2.1.2上。非常感谢任何帮助。感谢。

TwitterException{statusCode=403, retryAfter=0, rateLimitStatus=null}
    at twitter4j.internal.http.HttpClientImpl.request(HttpClientImpl.java:301)
    at twitter4j.internal.http.HttpClientWrapper.request(HttpClientWrapper.java:68)
    at twitter4j.internal.http.HttpClientWrapper.get(HttpClientWrapper.java:82)
    at twitter4j.Twitter.search(Twitter.java:193)

2 个答案:

答案 0 :(得分:0)

最有可能的原因是Twitter(又名OAuthcalypse)的基本身份验证关闭:

Basic Auth Shutdown

您需要切换为使用OAuth

答案 1 :(得分:0)

最近我在执行类似代码时遇到了同样的错误。 要修复它,请转到

  1. https://apps.twitter.com/app/your_app_id
  2. 点击密钥和访问令牌
  3. 在“访问级别”中,单击“修改应用程序权限”,然后选择第三个选项:“读取,写入和访问直接消息”
  4. 点击更新。 (注意:您可能需要添加您的手机号码,如果您没有在Twitter中添加您的手机,请使用otp进行验证以获取此权限)
  5. 重新生成消费者密钥和&分泌物访问令牌&使用可点击按钮的秘密
  6. 使用程序中的新密钥
  7. 你完成了!你的程序将开始工作。