static public String GallerySearch(GallerySort sort, GallerySearchWindow window, int page, String queryString = "") { String queryBase = String.Format(_gallerySearch, Utilities.convertToString(sort), Utilities.convertToString(window), page ); if (queryString == "") { return(queryBase); } else { UriBuilder builder = new UriBuilder(queryBase); if (queryString.StartsWith("q=")) { builder.Query = queryString; } else { builder.Query = "q=" + queryString; } return(builder.ToString()); } }
/// <summary> /// Search the gallery with a given query string. /// </summary> /// <param name="sorting">time | viral | top - defaults to time</param> /// <param name="window">Change the date range of the request if the sort is 'top', day | week | month | year | all, defaults to all.</param> /// <param name="page">the data paging number</param> /// <param name="query">Query string. This parameter also supports boolean operators (AND, OR, NOT) and indices (tag: user: title: ext: subreddit: album: meme:). An example compound query would be 'title: cats AND dogs ext: gif'</param> /// <returns></returns> public async Task <ImgurGalleryImageList> GallerySearchAsync(GallerySort sorting = GallerySort.time, GallerySearchWindow window = GallerySearchWindow.all, int page = 0, string query = "") { String responseString = await GetAnonymousImgurDataAsync(ImgurEndpoints.GallerySearch(sorting, window, page, query)); return(await Task.Run(() => JsonConvert.DeserializeObject <ImgurGalleryImageList>(responseString, _defaultSerializerSettings))); }