0
votes

It is clearly mentioned that the number of Requests allotted via application-only auth for search/tweets is 450/15 minutes. I am using twitter4j version 4.0.1 but, I am getting only 180 requests/15 minutes via application-only auth.

I tried to get the limit using the code below and I got the limit as 450. But, am getting the rate limit exceeded error after 180 requests.

twitter.getRateLimitStatus().get("/search/tweets").getLimit();

Where did I go wrong?

Update

public static OAuth2Token getOAuth2Token(String key, String sec) {

        OAuth2Token token = null;
        ConfigurationBuilder cb;

        cb = new ConfigurationBuilder();
        cb.setApplicationOnlyAuthEnabled(true);

        cb.setOAuthConsumerKey(key).setOAuthConsumerSecret(sec);

        try
        {
            token = new TwitterFactory(cb.build()).getInstance().getOAuth2Token();
        }
        catch (Exception e)
        {
            System.out.println("Could not get OAuth2 token");
            e.printStackTrace();
            System.exit(0);
        }

        return token;
    }

public TwitterManager() throws TwitterException {


        OAuth2Token token;
            token = getOAuth2Token("XXXX","XXXX");
            ConfigurationBuilder cb = new ConfigurationBuilder();
            cb.setApplicationOnlyAuthEnabled(true);
        cb.setOAuthConsumerKey("XXXX");
            cb.setOAuthConsumerSecret("XXXX");
        cb.setOAuth2TokenType(token.getTokenType());
        cb.setOAuth2AccessToken(token.getAccessToken());

        twitter = new TwitterFactory(cb.build()).getInstance();
}

This is how I used application-only auth.

1

1 Answers

0
votes

Are you able to share any more of your code?

From the results, I suspect you are not using application-only, but maybe have used another oauth flow?