/// <summary>
        /// Get suggested searches
        /// </summary>
        /// <param name="searchType">Search type(only blended and users works)</param>
        /// <returns></returns>
        public async Task <IResult <DiscoverSuggestionResponse> > GetSuggestedSearchesAsync(DiscoverSearchType searchType)
        {
            try
            {
                var instaUri = UriCreator.GetSuggestedSearchUri(searchType);
                var request  = HttpHelper.GetDefaultRequest(HttpMethod.Get, instaUri, _deviceInfo);
                request.Headers.Host = "i.instagram.com";
                var response = await _httpRequestProcessor.SendAsync(request);

                var json = await response.Content.ReadAsStringAsync();

                if (response.StatusCode != HttpStatusCode.OK)
                {
                    return(Result.Fail("Status code: " + response.StatusCode, (DiscoverSuggestionResponse)null));
                }
                var obj = JsonConvert.DeserializeObject <DiscoverSuggestionResponse>(json);
                return(Result.Success(obj));
            }
            catch (Exception exception)
            {
                _logger?.LogException(exception);
                return(Result.Fail <DiscoverSuggestionResponse>(exception));
            }
        }
Esempio n. 2
0
        public async Task <IResult <DiscoverSuggestionResponse> > GetSuggestedSearchesAsync(DiscoverSearchType searchType)
        {
            try
            {
                var instaUri = new Uri(InstaApiConstants.BASE_INSTAGRAM_API_URL + $"fbsearch/suggested_searches/?type={searchType.ToString().ToLower()}");
                Debug.WriteLine(instaUri.ToString());

                var request = HttpHelper.GetDefaultRequest(HttpMethod.Get, instaUri, _deviceInfo);
                request.Headers.Host = "i.instagram.com";
                var response = await _httpRequestProcessor.SendAsync(request);

                var json = await response.Content.ReadAsStringAsync();

                Debug.WriteLine(json);
                var obj = JsonConvert.DeserializeObject <DiscoverSuggestionResponse>(json);
                return(Result.Success(obj));
            }
            catch (Exception exception)
            {
                _logger?.LogException(exception);
                return(Result.Fail <DiscoverSuggestionResponse>(exception));
            }
        }