private async Task RestoreUserSession(string userName)
        {
            var user = await _repository.GetUserByNameAsync(userName);

            if (user?.InstagramState == null)
            {
                return;
            }

            await _instaApi.LoadStateDataFromStringAsync(user.InstagramState);
        }
示例#2
0
        public async Task <IActionResult> GetMedia(string mediaUrl)
        {
            string[] lines = await System.IO.File.ReadAllLinesAsync(TextFileUrl);

            if (lines.Count() == 3)
            {
                user          = new UserSessionData();
                user.UserName = lines[0];
                user.Password = lines[1];
                api           = InstaApiBuilder.CreateBuilder()
                                .SetUser(user)
                                .UseLogger(new DebugLogger(LogLevel.Exceptions))
                                .Build();


                await api.LoadStateDataFromStringAsync(lines[2]);

                if (!api.IsUserAuthenticated)
                {
                    return(Json(new { success = false, message = "اکانت شما از برنامه قطع شده است لطفا دوباره وارد شوید." }));
                }

                var uri     = new UriBuilder(mediaUrl).Uri;
                var mediaId = await api.MediaProcessor.GetMediaIdFromUrlAsync(uri);

                if (mediaId.Succeeded)
                {
                    IResult <InstaMedia> media = await api.MediaProcessor.GetMediaByIdAsync(mediaId.Value);

                    ReportViewModel report = new ReportViewModel()
                    {
                        CommentsCount = int.Parse(media.Value.CommentsCount),
                        LikesCount    = media.Value.LikesCount,
                        MediaId       = media.Value.Pk
                    };

                    return(PartialView("_Report", report));
                }
                else
                {
                    return(Json(new { success = false, message = mediaId.Info.Message }));
                }
            }
            else
            {
                return(Json(new { success = false, message = "اکانت شما از برنامه قطع شده است لطفا دوباره وارد شوید." }));
            }
        }