Exemple #1
0
        public IResult <EdgeHashtagToMedia> GetHashtagMedias(string hashtag, string endCursor, int limitPerPage = 12)
        {
            try
            {
                var uri = string.Format(InstagramGraphApiConstants.EXPLORE_TAG_DATA, hashtag, limitPerPage, endCursor);

                var variables = string.Format("{0}:{{\"tag_name\":\"{1}\",\"show_ranked\":false,\"first\":{2},\"after\":\"{3}\"}}", _user.UserRhxGis, hashtag, limitPerPage, endCursor);
                var signature = ApplicationHelper.CreateMD5(variables);

                var request = HttpHelper.GetDefaultRequest(uri);
                request.Headers["X-Instagram-GIS"] = signature;
                request.Headers["Cookie"]          = _user.UserCookie;

                var response = HttpHelper.GetDefaultResponse(request);
                var json     = response.ReadAsString();

                if (response.StatusCode != HttpStatusCode.OK)
                {
                    return(Result.UnExpectedResponse <EdgeHashtagToMedia>(response, json));
                }

                var objRetorno = JsonConvert.DeserializeObject <HashtagMedias>(json);

                EdgeHashtagToMedia EdgeHashtagToMedia = GetEdgeHashtagToMedia(objRetorno.Data.Hashtag);

                return(Result.Success(EdgeHashtagToMedia));
            }
            catch (Exception ex)
            {
                return(Result.Fail <EdgeHashtagToMedia>(ex.Message));
            }
        }
Exemple #2
0
        public IResult <EdgeFollowingHashtag> GetUserHashtagFollowing(string userId)
        {
            try
            {
                var uriInit       = string.Format(InstagramCustomApiConstants.USER_FOLLOWING_HASHTAG, userId);
                var variablesInit = string.Format("{0}:{{\"id\":\"{1}\"}}", _user.UserRhxGis, userId);
                var signatureInit = ApplicationHelper.CreateMD5(variablesInit);

                var request = HttpHelper.GetDefaultRequest(uriInit);
                request.Headers["X-Instagram-GIS"] = signatureInit;
                request.Headers["Cookie"]          = _user.UserCookie;

                var response = HttpHelper.GetDefaultResponse(request);
                var json     = response.ReadAsString();

                if (response.StatusCode != HttpStatusCode.OK)
                {
                    return(Result.UnExpectedResponse <EdgeFollowingHashtag>(response, json));
                }

                var objRetorno = JsonConvert.DeserializeObject <UserMedias>(json);
                var hashtags   = objRetorno.Data.User.EdgeFollowingHashtag;
                return(Result.Success(hashtags));
            }
            catch (Exception ex)
            {
                return(Result.Fail <EdgeFollowingHashtag>(ex.Message));
            }
        }
Exemple #3
0
        public IResult <ShortcodeHashtagMedia> GetShortcodeHashtagMedia(string shortcode)
        {
            try
            {
                var uri = string.Format(InstagramGraphApiConstants.EXPLORE_TAG_SHORTCODE_DATA, shortcode);

                var variables = string.Format("{0}:{{\"shortcode\":\"{1}\",\"child_comment_count\":10,\"fetch_comment_count\":40,\"parent_comment_count\":24,\"has_threaded_comments\":true }}", _user.UserRhxGis, shortcode);
                var signature = ApplicationHelper.CreateMD5(variables);

                var request = HttpHelper.GetDefaultRequest(uri);
                request.Headers["X-Instagram-GIS"] = signature;
                request.Headers["Cookie"]          = _user.UserCookie;

                var response = HttpHelper.GetDefaultResponse(request);
                var json     = response.ReadAsString();

                if (response.StatusCode != HttpStatusCode.OK)
                {
                    return(Result.UnExpectedResponse <ShortcodeHashtagMedia>(response, json));
                }

                var objRetorno = JsonConvert.DeserializeObject <ShortcodeHashtagMediaData>(json);
                var medias     = objRetorno.Data;

                return(Result.Success(medias));
            }
            catch (Exception ex)
            {
                return(Result.Fail <ShortcodeHashtagMedia>(ex.Message));
            }
        }
Exemple #4
0
        public IResult <DataStoryMedia> GetFeaturedStoriesByHighlightReelIds(string[] highlight_reel_ids)
        {
            try
            {
                var uri = string.Format(InstagramCustomApiConstants.DESTAQUES_DATA_STORIES_BY_USER_ID, GetFormattedHighlightReelIds(highlight_reel_ids));

                var variables = string.Format("{0}:{{ \"reel_ids\":[],\"tag_names\":[],\"location_ids\":[],\"highlight_reel_ids\":[{0}],\"precomposed_overlay\":false,\"show_story_viewer_list\":true,\"story_viewer_fetch_count\":50,\"story_viewer_cursor\":\"\"}}", highlight_reel_ids);
                var signature = ApplicationHelper.CreateMD5(variables);

                var request = HttpHelper.GetDefaultRequest(uri);
                request.Headers["X-Instagram-GIS"] = signature;
                request.Headers["Cookie"]          = _user.UserCookie;

                var response = HttpHelper.GetDefaultResponse(request);
                var json     = response.ReadAsString();

                if (response.StatusCode != HttpStatusCode.OK)
                {
                    return(Result.UnExpectedResponse <DataStoryMedia>(response, json));
                }

                var objRetorno           = JsonConvert.DeserializeObject <StoryMedias>(json);
                var recents_user_stories = objRetorno.Data;

                return(Result.Success(recents_user_stories));
            }
            catch (Exception ex)
            {
                return(Result.Fail <DataStoryMedia>(ex.Message));
            }
        }
Exemple #5
0
        public IResult <EdgeOwnerToTimelineMedia> GetUserMedias(string userid, string endCursor, int limitPerPage = 12)
        {
            try
            {
                var uri = string.Format(InstagramCustomApiConstants.USER_TIMELINE_URL, userid, limitPerPage, endCursor);

                var variables = string.Format("{0}:{{\"id\":\"{1}\",\"first\":{2},\"after\":\"{3}\"}}", _user.UserRhxGis, userid, limitPerPage, endCursor);
                var signature = ApplicationHelper.CreateMD5(variables);

                var request = HttpHelper.GetDefaultRequest(uri);
                request.Headers["X-Instagram-GIS"] = signature;
                request.Headers["Cookie"]          = _user.UserCookie;

                var response = HttpHelper.GetDefaultResponse(request);
                var json     = response.ReadAsString();

                if (response.StatusCode != HttpStatusCode.OK)
                {
                    return(Result.UnExpectedResponse <EdgeOwnerToTimelineMedia>(response, json));
                }

                var objRetorno = JsonConvert.DeserializeObject <UserMedias>(json);
                var medias     = objRetorno.Data.User.EdgeOwnerToTimelineMedia;

                return(Result.Success(medias));
            }
            catch (Exception ex)
            {
                return(Result.Fail <EdgeOwnerToTimelineMedia>(ex.Message));
            }
        }
Exemple #6
0
        public IResult <User> GetWebDiscoverMedia(int limitPerPage = 24, int endCursor = 0)
        {
            try
            {
                var uri = string.Format(InstagramCustomApiConstants.DISCOVER_MEDIAS_URL, limitPerPage, endCursor);

                var variables = string.Format("{0}:{{\"first\":{1},\"after\":\"{2}\"}}", _user.UserRhxGis, limitPerPage, endCursor);
                var signature = ApplicationHelper.CreateMD5(variables);

                var request = HttpHelper.GetDefaultRequest(uri);
                request.Headers["X-Instagram-GIS"] = signature;
                request.Headers["Cookie"]          = _user.UserCookie;

                var response = HttpHelper.GetDefaultResponse(request);
                var json     = response.ReadAsString();

                if (response.StatusCode != HttpStatusCode.OK)
                {
                    return(Result.UnExpectedResponse <User>(response, json));
                }

                var objRetorno = JsonConvert.DeserializeObject <UserMedias>(json);
                var medias     = objRetorno.Data.User;

                return(Result.Success(medias));
            }
            catch (Exception ex)
            {
                return(Result.Fail <User>(ex.Message));
            }
        }
Exemple #7
0
        public IResult <EdgeMediaToParentComment> GetMediaComments(string shortcode, string endCursor, int limitPerPage = 12)
        {
            try
            {
                DeserializedEndCursor DeserializedEndCursor = new DeserializedEndCursor();
                DeserializedEndCursor = JsonConvert.DeserializeObject <DeserializedEndCursor>(endCursor);

                string uri       = string.Format(InstagramGraphApiConstants.MEDIA_COMMENTS_URL, shortcode, limitPerPage, DeserializedEndCursor.cached_comments_cursor, HttpUtility.UrlEncode(DeserializedEndCursor.bifilter_token));
                var    variables = string.Format("{{\"shortcode\":\"{0}\", \"first\":{1}, \"after\":\"{{ \"cached_comments_cursor\": \"{2}\", \"bifilter_token\": \"{3}\" }}\"}}", shortcode, limitPerPage, DeserializedEndCursor.cached_comments_cursor, DeserializedEndCursor.bifilter_token);
                var    signature = ApplicationHelper.CreateMD5(variables);

                var request = HttpHelper.GetDefaultRequest(uri);
                request.Headers["X-Instagram-GIS"] = signature;
                request.Headers["Cookie"]          = _user.UserCookie;

                var response = HttpHelper.GetDefaultResponse(request);
                var json     = response.ReadAsString();

                if (response.StatusCode != HttpStatusCode.OK)
                {
                    return(Result.UnExpectedResponse <EdgeMediaToParentComment>(response, json));
                }

                var objRetorno = JsonConvert.DeserializeObject <ShortcodeData>(json);

                return(Result.Success <EdgeMediaToParentComment>(objRetorno.Data.ShortcodeMedia.EdgeMediaToParentComment));
            }
            catch (Exception ex)
            {
                return(Result.Fail <EdgeMediaToParentComment>(ex.Message));
            }
        }
Exemple #8
0
        public IResult <ShortcodeMedia> GetMediaInfoData(string shortcode)
        {
            try
            {
                string uri       = string.Format(InstagramCustomApiConstants.MEDIA_INFO_URL, shortcode);
                var    variables = string.Format("{0}:{{\"shortcode\":\"{1}\",\"child_comment_count\":10,\"fetch_comment_count\":40,\"parent_comment_count\":40,\"has_threaded_comments\":true}}", _user.UserRhxGis, shortcode);
                var    signature = ApplicationHelper.CreateMD5(variables);

                var request = HttpHelper.GetDefaultRequest(uri);
                request.Headers["X-Instagram-GIS"] = signature;
                request.Headers["Cookie"]          = _user.UserCookie;

                var response = HttpHelper.GetDefaultResponse(request);
                var json     = response.ReadAsString();

                if (response.StatusCode != HttpStatusCode.OK)
                {
                    return(Result.UnExpectedResponse <ShortcodeMedia>(response, json));
                }

                var objRetorno = JsonConvert.DeserializeObject <ShortcodeData>(json);

                return(Result.Success <ShortcodeMedia>(objRetorno.Data.ShortcodeMedia));
            }
            catch (Exception ex)
            {
                return(Result.Fail <ShortcodeMedia>(ex.Message));
            }
        }
Exemple #9
0
        public IResult <EdgeWebFeedTimeline> GetUserTimelineMedias(string endCursor = null)
        {
            try
            {
                var            uri       = "";
                var            variables = "";
                var            signature = "";
                HttpWebRequest request   = null;

                if (String.IsNullOrEmpty(endCursor))
                {
                    uri     = InstagramCustomApiConstants.USER_TIMELINE_MEDIAS_INIT;
                    request = HttpHelper.GetDefaultRequest(uri);
                    request.Headers["Cookie"] = _user.UserCookie;
                }
                else
                {
                    uri       = string.Format(InstagramCustomApiConstants.USER_TIMELINE_MEDIAS, endCursor);
                    variables = string.Format("{0}:{{\"cached_feed_item_ids\":[],\"fetch_media_item_count\":12,\"fetch_media_item_cursor\":\"{0}\",\"fetch_comment_count\":4,\"fetch_like\":3,\"has_stories\":false,\"has_threaded_comments\":true}}", _user.UserRhxGis, endCursor);
                    signature = ApplicationHelper.CreateMD5(variables);

                    request = HttpHelper.GetDefaultRequest(uri);
                    request.Headers["Cookie"]          = _user.UserCookie;
                    request.Headers["X-Instagram-GIS"] = signature;
                }

                var response = HttpHelper.GetDefaultResponse(request);
                var json     = response.ReadAsString();

                if (response.StatusCode != HttpStatusCode.OK)
                {
                    return(Result.UnExpectedResponse <EdgeWebFeedTimeline>(response, json));
                }

                var objRetorno = JsonConvert.DeserializeObject <UserMedias>(json);
                var medias     = objRetorno.Data.User.EdgeWebFeedTimeline;

                return(Result.Success(medias));
            }
            catch (Exception ex)
            {
                return(Result.Fail <EdgeWebFeedTimeline>(ex.Message));
            }
        }
Exemple #10
0
        public IResult <ShortcodeMediaLikes> GetMediaLikes(string shortcode, string endCursor = null, int limitPerPage = 24)
        {
            try
            {
                string uri       = string.Empty;
                string variables = string.Empty;

                if (endCursor == null)
                {
                    uri       = string.Format(InstagramCustomApiConstants.MEDIA_LIKES_INIT, shortcode, limitPerPage);
                    variables = string.Format("{0}:{{\"shortcode\":\"{1}\",\"include_reel\":true,\"first\":{2} }}", _user.UserRhxGis, shortcode, limitPerPage);
                }
                else
                {
                    uri       = string.Format(InstagramCustomApiConstants.MEDIA_LIKES_URL, shortcode, limitPerPage, endCursor);
                    variables = string.Format("{0}:{{\"shortcode\":\"{1}\",\"include_reel\":true,\"first\":{2},\"after\":\"{3}\"}}", _user.UserRhxGis, shortcode, limitPerPage, endCursor);
                }

                var signature = ApplicationHelper.CreateMD5(variables);

                var request = HttpHelper.GetDefaultRequest(uri);
                request.Headers["X-Instagram-GIS"] = signature;
                request.Headers["Cookie"]          = _user.UserCookie;

                var response = HttpHelper.GetDefaultResponse(request);
                var json     = response.ReadAsString();

                if (response.StatusCode != HttpStatusCode.OK)
                {
                    return(Result.UnExpectedResponse <ShortcodeMediaLikes>(response, json));
                }

                var objRetorno = JsonConvert.DeserializeObject <ShortcodeMediaLikesData>(json);

                return(Result.Success(objRetorno.Data));
            }
            catch (Exception ex)
            {
                return(Result.Fail <ShortcodeMediaLikes>(ex.Message));
            }
        }
Exemple #11
0
        public IResult <Comment> GetLikesFromComment(string comment_id, string endCursor = null, int limitPerPage = 48)
        {
            try
            {
                string uri      = string.Empty;
                string variable = string.Empty;

                if (String.IsNullOrEmpty(endCursor))
                {
                    uri      = string.Format(InstagramGraphApiConstants.LIKES_FROM_COMMENT_INIT, comment_id, limitPerPage);
                    variable = string.Format("{{\"comment_id\":\"{0}\",\"first\":{1}}}", comment_id, limitPerPage);
                }
                else
                {
                    uri      = string.Format(InstagramGraphApiConstants.LIKES_FROM_COMMENT_URL, comment_id, limitPerPage, endCursor);
                    variable = string.Format("{{\"comment_id\":\"{0}\",\"first\":{1},\"after\":\"{2}\"}}", comment_id, limitPerPage, endCursor);
                }

                var signature = ApplicationHelper.CreateMD5(variable);

                var request = HttpHelper.GetDefaultRequest(uri);
                request.Headers["X-Instagram-GIS"] = signature;
                request.Headers["Cookie"]          = _user.UserCookie;

                var response = HttpHelper.GetDefaultResponse(request);
                var json     = response.ReadAsString();

                if (response.StatusCode != HttpStatusCode.OK)
                {
                    return(Result.UnExpectedResponse <Comment>(response, json));
                }

                var objRetorno = JsonConvert.DeserializeObject <CommentData>(json);

                return(Result.Success <Comment>(objRetorno.Data.Comment));
            }
            catch (Exception ex)
            {
                return(Result.Fail <Comment>(ex.Message));
            }
        }
Exemple #12
0
        private IResult <EdgeUserToPhotosOfYou> GetTaggedMediasInit(string userId, int limitPerPage)
        {
            try
            {
                var uriInit       = string.Format(InstagramCustomApiConstants.USER_TO_PHOTOS_OF_YOU_INIT, userId, limitPerPage);
                var variablesInit = string.Format("{0}:{{\"id\":\"{1}\",\"first\":{2} }}", _user.UserRhxGis, userId, limitPerPage);
                var signatureInit = ApplicationHelper.CreateMD5(variablesInit);

                var request = HttpHelper.GetDefaultRequest(uriInit);
                request.Headers["X-Instagram-GIS"] = signatureInit;
                request.Headers["Cookie"]          = _user.UserCookie;

                var response = HttpHelper.GetDefaultResponse(request);
                var json     = response.ReadAsString();

                if (response.StatusCode != HttpStatusCode.OK)
                {
                    return(Result.UnExpectedResponse <EdgeUserToPhotosOfYou>(response, json));
                }

                var    objRetorno      = JsonConvert.DeserializeObject <UserMedias>(json);
                var    medias          = objRetorno.Data.User.EdgeUserToPhotosOfYou;
                string endCursorMedias = objRetorno.Data.User.EdgeUserToPhotosOfYou.PageInfo.EndCursor;

                if (medias.PageInfo.HasNextPage)
                {
                    bool has_next_page = true;

                    do
                    {
                        var uriMedias = string.Format(InstagramCustomApiConstants.USER_TO_PHOTOS_OF_YOU, userId, limitPerPage, endCursorMedias);

                        var variablesMedias = string.Format("{0}:{{\"id\":\"{1}\",\"first\":{2},\"after\":\"{3}\"}}", _user.UserRhxGis, userId, limitPerPage, endCursorMedias);
                        var signatureMedias = ApplicationHelper.CreateMD5(variablesMedias);

                        var requestMedias = HttpHelper.GetDefaultRequest(uriMedias);
                        requestMedias.Headers["X-Instagram-GIS"] = signatureMedias;
                        requestMedias.Headers["Cookie"]          = _user.UserCookie;

                        var responseMedias = HttpHelper.GetDefaultResponse(requestMedias);
                        var jsonMedias     = responseMedias.ReadAsString();

                        if (responseMedias.StatusCode != HttpStatusCode.OK)
                        {
                            return(Result.UnExpectedResponse <EdgeUserToPhotosOfYou>(responseMedias, jsonMedias));
                        }

                        var objRetornoMedias = JsonConvert.DeserializeObject <UserMedias>(jsonMedias);

                        objRetornoMedias.Data.User.EdgeUserToPhotosOfYou.Edges.ForEach(c => medias.Edges.Add(c));

                        has_next_page = objRetornoMedias.Data.User.EdgeUserToPhotosOfYou.PageInfo.HasNextPage;

                        endCursorMedias = objRetornoMedias.Data.User.EdgeUserToPhotosOfYou.PageInfo.EndCursor;
                    } while (has_next_page);
                }

                return(Result.Success(medias));
            }
            catch (Exception ex)
            {
                return(Result.Fail <EdgeUserToPhotosOfYou>(ex.Message));
            }
        }
Exemple #13
0
        private IResult <EdgeSavedMedia> GetSavedUserMediasInit(string username, int limitPerPage)
        {
            try
            {
                EdgeSavedMedia _EdgeSavedMedia = new EdgeSavedMedia();
                _EdgeSavedMedia.Edges = new List <EdgeSavedMediaEdges>();

                var user = GetUser(username).Data;
                _EdgeSavedMedia.Edges = user.EdgeSavedMedia.Edges;

                var userId    = user.Id;
                var endCursor = user.EdgeSavedMedia.PageInfo.EndCursor;

                var uri = string.Format(InstagramCustomApiConstants.USER_SAVED_MEDIAS_URL, userId, limitPerPage, endCursor);

                var variables = string.Format("{0}:{{\"id\":\"{1}\",\"first\":{2},\"after\":\"{3}\"}}", _user.UserRhxGis, userId, limitPerPage, endCursor);
                var signature = ApplicationHelper.CreateMD5(variables);

                var request = HttpHelper.GetDefaultRequest(uri);
                request.Headers["X-Instagram-GIS"] = signature;
                request.Headers["Cookie"]          = _user.UserCookie;

                var response = HttpHelper.GetDefaultResponse(request);
                var json     = response.ReadAsString();

                if (response.StatusCode != HttpStatusCode.OK)
                {
                    return(Result.UnExpectedResponse <EdgeSavedMedia>(response, json));
                }

                var    objRetorno      = JsonConvert.DeserializeObject <UserMedias>(json);
                var    medias          = objRetorno.Data.User.EdgeSavedMedia;
                string endCursorMedias = objRetorno.Data.User.EdgeSavedMedia.PageInfo.EndCursor;

                if (medias.PageInfo.HasNextPage)
                {
                    bool has_next_page = true;

                    do
                    {
                        var uriMedias = string.Format(InstagramCustomApiConstants.USER_SAVED_MEDIAS_URL, userId, limitPerPage, endCursorMedias);

                        var variablesMedias = string.Format("{0}:{{\"id\":\"{1}\",\"first\":{2},\"after\":\"{3}\"}}", _user.UserRhxGis, userId, limitPerPage, endCursorMedias);
                        var signatureMedias = ApplicationHelper.CreateMD5(variablesMedias);

                        var requestMedias = HttpHelper.GetDefaultRequest(uriMedias);
                        requestMedias.Headers["X-Instagram-GIS"] = signatureMedias;
                        requestMedias.Headers["Cookie"]          = _user.UserCookie;

                        var responseMedias = HttpHelper.GetDefaultResponse(requestMedias);
                        var jsonMedias     = responseMedias.ReadAsString();

                        if (responseMedias.StatusCode != HttpStatusCode.OK)
                        {
                            return(Result.UnExpectedResponse <EdgeSavedMedia>(responseMedias, jsonMedias));
                        }

                        var objRetornoMedias = JsonConvert.DeserializeObject <UserMedias>(jsonMedias);

                        objRetornoMedias.Data.User.EdgeSavedMedia.Edges.ForEach(c => medias.Edges.Add(c));

                        has_next_page = objRetornoMedias.Data.User.EdgeSavedMedia.PageInfo.HasNextPage;

                        endCursorMedias = objRetornoMedias.Data.User.EdgeSavedMedia.PageInfo.EndCursor;
                    } while (has_next_page);
                }

                medias.Edges.ForEach(c => _EdgeSavedMedia.Edges.Add(c));

                return(Result.Success(_EdgeSavedMedia));
            }
            catch (Exception ex)
            {
                return(Result.Fail <EdgeSavedMedia>(ex.Message));
            }
        }
Exemple #14
0
        public IResult <EdgeFollow> GetUserFollowing(string userId, int limitPerPage = 12)
        {
            try
            {
                var uriInit       = string.Format(InstagramCustomApiConstants.USER_FOLLOWING_INIT, userId, limitPerPage);
                var variablesInit = string.Format("{0}:{{\"id\":\"{1}\",\"first\":{2} }}", _user.UserRhxGis, userId, limitPerPage);
                var signatureInit = ApplicationHelper.CreateMD5(variablesInit);

                var request = HttpHelper.GetDefaultRequest(uriInit);
                request.Headers["X-Instagram-GIS"] = signatureInit;
                request.Headers["Cookie"]          = _user.UserCookie;

                var response = HttpHelper.GetDefaultResponse(request);
                var json     = response.ReadAsString();

                if (response.StatusCode != HttpStatusCode.OK)
                {
                    return(Result.UnExpectedResponse <EdgeFollow>(response, json));
                }

                var    objRetorno         = JsonConvert.DeserializeObject <UserMedias>(json);
                var    following          = objRetorno.Data.User.EdgeFollow;
                string endCursorFollowing = objRetorno.Data.User.EdgeFollow.PageInfo.EndCursor;

                if (following.PageInfo.HasNextPage)
                {
                    bool has_next_page = true;

                    do
                    {
                        var uri = string.Format(InstagramCustomApiConstants.USER_FOLLOWING, userId, limitPerPage, endCursorFollowing);

                        var variablesMedias = string.Format("{0}:{{\"id\":\"{1}\",\"first\":{2},\"after\":\"{3}\"}}", _user.UserRhxGis, userId, limitPerPage, endCursorFollowing);
                        var signatureMedias = ApplicationHelper.CreateMD5(variablesMedias);

                        var requestMedias = HttpHelper.GetDefaultRequest(uri);
                        requestMedias.Headers["X-Instagram-GIS"] = signatureMedias;
                        requestMedias.Headers["Cookie"]          = _user.UserCookie;

                        var responseFollowers = HttpHelper.GetDefaultResponse(requestMedias);
                        var jsonFollowers     = responseFollowers.ReadAsString();

                        if (responseFollowers.StatusCode != HttpStatusCode.OK)
                        {
                            return(Result.UnExpectedResponse <EdgeFollow>(responseFollowers, jsonFollowers));
                        }

                        var objRetornoFollowing = JsonConvert.DeserializeObject <UserMedias>(jsonFollowers);

                        objRetornoFollowing.Data.User.EdgeFollow.Edges.ForEach(c => following.Edges.Add(c));

                        has_next_page = objRetornoFollowing.Data.User.EdgeFollow.PageInfo.HasNextPage;

                        endCursorFollowing = objRetornoFollowing.Data.User.EdgeFollow.PageInfo.EndCursor;
                    } while (has_next_page);
                }

                return(Result.Success(following));
            }
            catch (Exception ex)
            {
                return(Result.Fail <EdgeFollow>(ex.Message));
            }
        }