public static FlairListing FromJson(JToken token) { var list = new FlairListing(); foreach (var child in token.Children()) { list.Add(Flair.FromJson(child)); } return(list); }
/// <summary> /// /// </summary> /// <param name="session"></param> /// <param name="sub"></param> /// <see cref="https://github.com/reddit/reddit/wiki/API%3A-flairlist"/> /// <returns></returns> public static FlairListing GetFlair(Session session, string sub, string after, string before) { // var url = "http://www.reddit.com/api/flairlist?r=" + sub + "&limit=1000&uh=" + session.ModHash; var url = "http://www.reddit.com/r/" + sub + "/api/flairlist.json?uh=" + session.ModHash + "&limit=1000"; if (!string.IsNullOrEmpty(after)) { url += "&after=" + after; } if (!string.IsNullOrEmpty(before)) { url += "&before=" + before; } var request = new Request { Url = url, Method = "GET", Cookie = session.Cookie }; var json = string.Empty; if (request.Execute(out json) != System.Net.HttpStatusCode.OK) { throw new RedditException(json); } var o = JObject.Parse(json); // convert to a post listing var list = FlairListing.FromJson(o["users"]); list.Next = o["next"] == null ? string.Empty : o["next"].ToString(); list.Prev = o["prev"] == null ? string.Empty : o["prev"].ToString(); return(list); }