title: Twitter api V1.1 - getting "(401) Unauthorized" when trying to get user_timeline
body: <p>I am trying to get the user timeline from twitter api v1.1 with ASP.NET and it is working fine unless i add the count parameter. My code is below; </p>
  
  <pre><code>string oauth_token = "xxx";
      string oauth_token_secret = "xxx";
      string oauth_consumer_key = "xxx";
      string oauth_consumer_secret = "xxx";
  
      public string GetUserTimeline(string userName, int tweetCount)
      {
          // oauth implementation details
          var oauth_version = "1.0";
          var oauth_signature_method = "HMAC-SHA1";
  
          // unique request details
          var oauth_nonce = Convert.ToBase64String(
              new ASCIIEncoding().GetBytes(DateTime.Now.Ticks.ToString()));
          var timeSpan = DateTime.UtcNow
              - new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc);
          var oauth_timestamp = Convert.ToInt64(timeSpan.TotalSeconds).ToString();
  
          // message api details
          var status = "Updating status via REST API if this works";
          var resource_url = "https://api.twitter.com/1.1/statuses/user_timeline.json";
          // create oauth signature
          var baseFormat = "oauth_consumer_key={0}&amp;oauth_nonce={1}&amp;oauth_signature_method={2}" +
                          "&amp;oauth_timestamp={3}&amp;oauth_token={4}&amp;oauth_version={5}&amp;screen_name={6}";
  
          var baseString = string.Format(baseFormat,
                                      oauth_consumer_key,
                                      oauth_nonce,
                                      oauth_signature_method,
                                      oauth_timestamp,
                                      oauth_token,
                                      oauth_version,
                                       Uri.EscapeDataString(userName)
                                      );
  
          baseString = string.Concat("GET&amp;", Uri.EscapeDataString(resource_url), "&amp;", Uri.EscapeDataString(baseString));
  
          var compositeKey = string.Concat(Uri.EscapeDataString(oauth_consumer_secret),
                                  "&amp;", Uri.EscapeDataString(oauth_token_secret));
  
          string oauth_signature;
          using (HMACSHA1 hasher = new HMACSHA1(ASCIIEncoding.ASCII.GetBytes(compositeKey)))
          {
              oauth_signature = Convert.ToBase64String(
                  hasher.ComputeHash(ASCIIEncoding.ASCII.GetBytes(baseString)));
          }
  
          // create the request header
          var headerFormat = "OAuth oauth_nonce=\"{0}\", oauth_signature_method=\"{1}\", " +
                             "oauth_timestamp=\"{2}\", oauth_consumer_key=\"{3}\", " +
                             "oauth_token=\"{4}\", oauth_signature=\"{5}\", " +
                             "oauth_version=\"{6}\"";
  
          var authHeader = string.Format(headerFormat,
                                  Uri.EscapeDataString(oauth_nonce),
                                  Uri.EscapeDataString(oauth_signature_method),
                                  Uri.EscapeDataString(oauth_timestamp),
                                  Uri.EscapeDataString(oauth_consumer_key),
                                  Uri.EscapeDataString(oauth_token),
                                  Uri.EscapeDataString(oauth_signature),
                                  Uri.EscapeDataString(oauth_version)
                          );
  
  
          // make the request
  
          ServicePointManager.Expect100Continue = false;
  
          var postBody = "screen_name=" + Uri.EscapeDataString(userName);//
          resource_url += "?" + postBody;
          HttpWebRequest request = (HttpWebRequest)WebRequest.Create(resource_url);
          request.Headers.Add("Authorization", authHeader);
          request.Method = "GET";
          request.ContentType = "application/x-www-form-urlencoded";
  
  
          WebResponse response = request.GetResponse();
          string responseData = new StreamReader(response.GetResponseStream()).ReadToEnd();
  
          return responseData.ToString();
      }
  </code></pre>
  
  <p>The problem is when i add the count parameter to limit the number of tweets, i am getting  "(401) Unauthorized" error. Below is the version with parameters;</p>
  
  <pre><code>var baseFormat = "count=25&amp;oauth_consumer_key={0}&amp;oauth_nonce={1}&amp;oauth_signature_method={2}" +
                         "&amp;oauth_timestamp={3}&amp;oauth_token={4}&amp;oauth_version={5}&amp;screen_name={6}";
  var postBody = "count=25&amp;screen_name=" + Uri.EscapeDataString(userName);
  </code></pre>
  
  <p>What am i doing wrong?</p>