/// <summary>
 /// Returns the most recent tweets authored by the authenticating user that have been retweeted by others.
 /// </summary>
 /// <param name="options">The options for the call.</param>
 public SocialHttpResponse GetRetweetsOfMe(TwitterTimelineOptions options) {
     return Client.DoHttpGetRequest("https://api.twitter.com/1.1/statuses/retweets_of_me.json", options);
 }
 /// <summary>
 /// Gets the most recent mentions (tweets containing the users's @screen_name) for the authenticating user.
 /// </summary>
 /// <param name="options">The options for the call.</param>
 public SocialHttpResponse GetMentionsTimeline(TwitterTimelineOptions options) {
     if (options == null) throw new ArgumentNullException("options");
     return Client.DoHttpGetRequest("https://api.twitter.com/1.1/statuses/mentions_timeline.json", options);
 }
 public TwitterTimeline UserTimeline(string screenName, TwitterTimelineOptions options = null) {
     return TwitterTimeline.ParseJson(Raw.GetUserTimeline(screenName, options));
 }
 public TwitterTimeline UserTimeline(long userId, TwitterTimelineOptions options = null) {
     return TwitterTimeline.ParseJson(Raw.GetUserTimeline(userId, options));
 }
        public string GetUserTimeline(long userId, TwitterTimelineOptions options) {

            // Define the query string
            NameValueCollection qs = new NameValueCollection { { "user_id", userId + "" } };

            // Add optional parameters
            if (options != null) {
                if (options.SinceId > 0) qs.Add("since_id", options.SinceId + "");
                if (options.Count > 0) qs.Add("count", options.Count + "");
                if (options.MaxId > 0) qs.Add("max_id", options.MaxId + "");
                if (options.TrimUser) qs.Add("trim_user", "true");
                if (options.ExcludeReplies) qs.Add("exclude_replies", "true");
                if (options.ContributorDetails) qs.Add("contributor_details", "true");
                if (!options.IncludeRetweets) qs.Add("include_rts", "false");
            }

            // Make the call to the API
            return Client.DoHttpRequestAsString("GET", "https://api.twitter.com/1.1/statuses/user_timeline.json", qs);

        }
        /// <summary>
        /// Returns the most recent tweets authored by the authenticating user that have been retweeted by others.
        /// </summary>
        /// <param name="options">The options for the call.</param>
        public string GetRetweetsOfMe(TwitterTimelineOptions options) {

            // Initialize the query string
            NameValueCollection qs = new NameValueCollection();

            // Add optional parameters
            if (options != null) {
                if (options.SinceId > 0) qs.Add("since_id", options.SinceId + "");
                if (options.Count > 0) qs.Add("count", options.Count + "");
                if (options.MaxId > 0) qs.Add("max_id", options.MaxId + "");
                if (options.TrimUser) qs.Add("trim_user", "true");
                if (options.ExcludeReplies) qs.Add("exclude_replies", "true");
                if (options.ContributorDetails) qs.Add("contributor_details", "true");
            }

            // Make the call to the API
            return Client.DoHttpRequestAsString("GET", "https://api.twitter.com/1.1/statuses/retweets_of_me.json", qs);

        }