title: getUserTimeLine (Twitter4J) only works on some public accounts
body: <p>I try to use <em>getUserTimeline()</em> from Twitter4J library to download <strong>public tweets</strong> and it only works on some accounts. For example:</p>
  
  <pre><code>twitter.getUserTimeline("twitter"); //works
  twitter.getUserTimeline("codeacademy"); //fails
  </code></pre>
  
  <p>However, I can't find any difference between the two. I am followed by none of them nor do I follow any. If I visit their accounts in Firefox's private mode, I am able to see their public tweets. It is the same when I login with my account. However, if I try to use API, codeacademy somehow fails. I tried calling it with argument "codeacademy", "Codeacademy", even with ID (716547158), always with the same results.</p>
  
  <p>Error message I get is:</p>
  
  <pre><code>Exception in thread "main" 401:Authentication credentials (https://dev.twitter.com/pages/auth) were missing or incorrect. Ensure that you have set valid consumer key/secret, access token/secret, and the system clock is in sync.
  {"request":"\/1.1\/statuses\/user_timeline.json?screen_name=codeacademy&amp;include_my_retweet=true&amp;include_entities=1&amp;include_rts=1","error":"Not authorized."}
  
  Relevant discussions can be found on the Internet at:
          http://www.google.co.jp/search?q=00df323f or
          http://www.google.co.jp/search?q=445fb8e5
  TwitterException{exceptionCode=[00df323f-445fb8e5], statusCode=401, message=null, code=-1, retryAfter=-1, rateLimitStatus=RateLimitStatusJSONImpl{remaining=177, limit=180, resetTimeInSeconds=1384522960, secondsUntilReset=495}, version=3.0.4}   
      at twitter4j.internal.http.HttpClientImpl.request(HttpClientImpl.java:162)  
      at twitter4j.internal.http.HttpClientWrapper.request(HttpClientWrapper.java:61)     
      at twitter4j.internal.http.HttpClientWrapper.get(HttpClientWrapper.java:81)
      ...etc...
  </code></pre>
  
  <p>I've thought I may be initializing Twitter object wrong, but trying 3 different options didn't help. Here is what I've tried.</p>
  
  <h1>1)</h1>
  
  <p>in twitter4j.properties (<em>*</em> are actual values there :))</p>
  
  <pre><code>oauth.consumerKey=***
  oauth.consumerSecret=***
  oauth.accessToken=***
  oauth.accessTokenSecret=***
  </code></pre>
  
  <p>in java</p>
  
  <pre><code>Twitter twitter = TwitterFactory.getSingleton();
  </code></pre>
  
  <h1>2)</h1>
  
  <p>in twitter4j.properties</p>
  
  <pre><code>enableApplicationOnlyAuth=true
  http.useSSL=true
  oauth.consumerKey=***
  oauth.consumerSecret=***
  oauth2.tokenType=bearer
  oauth2.accessToken=***
  </code></pre>
  
  <p>I got oauth2 values by calling and manually copy-pasting from:</p>
  
  <pre><code>    OAuth2Token token = twitter.getOAuth2Token();
      System.out.println(token.getAccessToken());
      System.out.println(token.getTokenType());
  </code></pre>
  
  <p>in java</p>
  
  <pre><code>Twitter twitter = new TwitterFactory().getSingleton();
  </code></pre>
  
  <h1>3)</h1>
  
  <p>in twitter4j.properties</p>
  
  <pre><code>*nothing*
  </code></pre>
  
  <p>in java</p>
  
  <pre><code>    ConfigurationBuilder builder = new ConfigurationBuilder();
      builder.setUseSSL(true);
      builder.setApplicationOnlyAuthEnabled(true);
  
      Twitter twitter = new TwitterFactory(builder.build()).getInstance();
      twitter.setOAuthConsumer("***", "***");
      OAuth2Token token = twitter.getOAuth2Token();
  </code></pre>
  
  <p>Every attempt worked with twitter, none worked with codeacademy.</p>
  
  <p>I must be doing something wrong but am not able to find out what. Any advice would be highly appreciated :). Thanks.</p>