Request BuildFollowersListUrl(Dictionary <string, string> parameters) { var req = new Request(BaseUrl + "followers/list.json"); var urlParams = req.RequestParameters; if (!parameters.ContainsKey("ScreenName") && !parameters.ContainsKey("UserID")) { throw new ArgumentNullException("ScreenNameOrUserID", "Requires ScreenName or UserID with a comma-separated list of twitter screen names or user IDs, respectively."); } if (parameters.ContainsKey("UserID")) { UserID = parameters["UserID"]; urlParams.Add(new QueryParameter("user_id", UserID)); } if (parameters.ContainsKey("ScreenName")) { ScreenName = parameters["ScreenName"]; urlParams.Add(new QueryParameter("screen_name", ScreenName)); } if (parameters.ContainsKey("Count")) { Count = int.Parse(parameters["Count"]); urlParams.Add(new QueryParameter("count", parameters["Count"])); } if (parameters.ContainsKey("Cursor")) { Cursor = long.Parse(parameters["Cursor"]); urlParams.Add(new QueryParameter("cursor", parameters["Cursor"])); } if (parameters.ContainsKey("SkipStatus")) { SkipStatus = bool.Parse(parameters["SkipStatus"]); urlParams.Add(new QueryParameter("skip_status", SkipStatus.ToString().ToLower())); } if (parameters.ContainsKey("IncludeEntities")) { IncludeEntities = bool.Parse(parameters["IncludeEntities"]); urlParams.Add(new QueryParameter("include_user_entities", parameters["IncludeEntities"].ToLower())); } if (parameters.ContainsKey("IncludeUserEntities")) { IncludeEntities = bool.Parse(parameters["IncludeUserEntities"]); urlParams.Add(new QueryParameter("include_user_entities", parameters["IncludeUserEntities"].ToLower())); } return(req); }
/// <summary> /// Common code for building parameter list for both sent by and sent to urls. /// </summary> /// <param name="parameters">parameters to add</param> /// <param name="url">url to start with</param> /// <returns>new url with parameters</returns> Request BuildSentUrlParameters(Dictionary <string, string> parameters, string url) { var req = new Request(BaseUrl + url); IList <QueryParameter> urlParams = req.RequestParameters; if (parameters == null) { return(req); } if (parameters.ContainsKey("SinceID")) { SinceID = ulong.Parse(parameters["SinceID"]); urlParams.Add(new QueryParameter("since_id", SinceID.ToString(CultureInfo.InvariantCulture))); } if (parameters.ContainsKey("MaxID")) { MaxID = ulong.Parse(parameters["MaxID"]); urlParams.Add(new QueryParameter("max_id", MaxID.ToString(CultureInfo.InvariantCulture))); } if (parameters.ContainsKey("Page")) { Page = int.Parse(parameters["Page"]); urlParams.Add(new QueryParameter("page", Page.ToString(CultureInfo.InvariantCulture))); } if (parameters.ContainsKey("Count")) { Count = int.Parse(parameters["Count"]); urlParams.Add(new QueryParameter("count", Count.ToString(CultureInfo.InvariantCulture))); } if (parameters.ContainsKey("IncludeEntities")) { IncludeEntities = bool.Parse(parameters["IncludeEntities"]); urlParams.Add(new QueryParameter("include_entities", parameters["IncludeEntities"].ToLower())); } if (parameters.ContainsKey("SkipStatus")) { SkipStatus = bool.Parse(parameters["SkipStatus"]); urlParams.Add(new QueryParameter("skip_status", SkipStatus.ToString().ToLower())); } if (parameters.ContainsKey("FullText")) { FullText = bool.Parse(parameters["FullText"]); urlParams.Add(new QueryParameter("full_text", parameters["FullText"].ToLower())); } return(req); }