public static async Task<Response<List<Status>>> search_tweets(this Api api, string query, Geocode geocode = null, Language lang = Language.English, string local = "ja", ResultType result_type = ResultType.Mixed, int count = -1, string until = null, long since_id = -1, long max_id = -1, bool include_entities = false) { var uri = "https://api.twitter.com/1.1/search/tweets.json"; var parameters = new Dictionary<string, object>(); parameters.Add("q", query); if (geocode != null) parameters.Add("geocode", $"{geocode.Latitude},{geocode.Longitude},{geocode.Radius}{geocode.Units.ToString().ToLower()}"); parameters.Add("lang", lang.GetDescriptionFromEnumValue()); parameters.Add("local", local); parameters.Add("result_type", result_type.ToString().ToLower()); // TODO: fix "until" parameter if (!string.IsNullOrEmpty(until)) parameters.Add("until", until); if (since_id != -1) parameters.Add("since_id", since_id); if (max_id != -1) parameters.Add("max_id", max_id); if (include_entities) parameters.Add("include_entities", include_entities); return await api.SendAsync<List<Status>>(HttpMethod.Post, uri, parameters); }
public static async Task<Response<OEmbed>> statuses_oembed(this Api api, long status_id, long maxwidth = 325, bool hide_media = false, bool hide_thread = false, bool omit_script = false, Align align = Align.Center, IEnumerable<string> related = null, Language lang = Language.English, string widget_type = "", bool hide_tweet = false) { var uri = $"https://api.twitter.com/1.1/statuses/oembed.json?id={status_id}"; var parameters = new Dictionary<string, object>(); parameters.Add("status_id", status_id); parameters.Add("maxwidth", maxwidth); if (hide_media) parameters.Add("hide_media", hide_media); if (hide_thread) parameters.Add("hide_thread", hide_thread); if (omit_script) parameters.Add("omit_script", omit_script); parameters.Add("align", align.ToString().ToLower()); if (related != null && related.Any()) parameters.Add("related", string.Join(",", related)); parameters.Add("lang", lang.GetDescriptionFromEnumValue().ToLower()); if (!string.IsNullOrEmpty(widget_type)) parameters.Add("widget_type", widget_type); if (hide_tweet) parameters.Add("hide_tweet", hide_tweet); return await api.SendAsync<OEmbed>(HttpMethod.Get, uri, parameters); }