private async Task RestoreUserSession(string userName) { var user = await _repository.GetUserByNameAsync(userName); if (user?.InstagramState == null) { return; } await _instaApi.LoadStateDataFromStringAsync(user.InstagramState); }
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 = "اکانت شما از برنامه قطع شده است لطفا دوباره وارد شوید." })); } }