Esempio n. 1
0
        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)));
        }