public void SetUploadItem(List <StorageUploadItem> uploadItems, string caption) { try { if (!string.IsNullOrEmpty(caption)) { caption = caption.Replace("\r", "\n"); } if (uploadItems.Count == 0) { return; } for (int i = 0; i < uploadItems.Count; i++) { uploadItems[i].Caption = caption; } if (uploadItems.Count == 1) { var uploader = new Uploader(); uploader.UploadFile(uploadItems[0]); } else { for (int i = 0; i < uploadItems.Count; i++) { uploadItems[i].IsAlbum = true; var up = uploadItems[i]; var uploader = new Uploader(); uploader.OnUploadCompleted += StorageUploadOnUploadCompleted; uploader.UploadFile(up); Uploads.Add(uploader); } } AppUploadHelper.Uploaders.Add(this); } catch { } }
private async void ConfigureAlbum() { try { MainPage.Current?.ShowMediaUploadingUc(); var instaUri = InstagramApiSharp.Helpers.UriCreator.GetMediaAlbumConfigureUri(); var clientSidecarId = Uploader.GenerateUploadId(); var childrenArray = new JArray(); foreach (var album in Uploads) { childrenArray.Add(album.GetMediaConfigure()); } var retryContext = Uploader.GetRetryContext(); var _user = InstaApi.GetLoggedUser(); var _deviceInfo = InstaApi.GetCurrentDevice(); //{"date_time_digitalized", DateTime.UtcNow.ToString("yyyy:MM:dd+hh:mm:ss")}, //{"date_time_original", DateTime.UtcNow.ToString("yyyy:MM:dd+hh:mm:ss")}, //{"is_suggested_venue", "false"}, var _httpRequestProcessor = InstaApi.HttpRequestProcessor; var data = new JObject { { "_uuid", _deviceInfo.DeviceGuid.ToString() }, { "_uid", _user.LoggedInUser.Pk.ToString() }, { "_csrftoken", _user.CsrfToken }, { "caption", Uploads[0].UploadItem.Caption ?? "" }, { "client_sidecar_id", clientSidecarId }, { "upload_id", clientSidecarId }, { "timezone_offset", InstaApi.GetTimezoneOffset().ToString() }, { "source_type", "4" }, { "device_id", _deviceInfo.DeviceId }, { "creation_logger_session_id", Guid.NewGuid().ToString() }, { "device", new JObject { { "manufacturer", _deviceInfo.HardwareManufacturer }, { "model", _deviceInfo.DeviceModelIdentifier }, { "android_release", _deviceInfo.AndroidVer.VersionNumber }, { "android_version", int.Parse(_deviceInfo.AndroidVer.APILevel) } } }, { "children_metadata", childrenArray }, }; if (Uploads[0].UploadItem.DisableComments) { data.Add("disable_comments", "1"); } if (Uploads[0].UploadItem.Location != null) { data.Add("location", Uploads[0].UploadItem.Location.GetJson()); data.Add("date_time_digitalized", DateTime.Now.ToString("yyyy:dd:MM+h:mm:ss")); } var request = InstaApi.HttpHelper.GetSignedRequest(HttpMethod.Post, instaUri, _deviceInfo, data); var response = await _httpRequestProcessor.SendAsync(request); var json = await response.Content.ReadAsStringAsync(); MainPage.Current?.HideMediaUploadingUc(); var mediaResponse = JsonConvert.DeserializeObject <InstaMediaAlbumResponse>(json); var converter = ConvertersFabric.Instance.GetSingleMediaFromAlbumConverter(mediaResponse); try { var obj = converter.Convert(); if (obj != null) { Main.MainView.Current?.MainVM.PostsGenerator.Items.Insert(0, new InstaPost { Media = obj, Type = InstagramApiSharp.Enums.InstaFeedsType.Media }); ShowNotify($"Your Album uploaded successfully...", 3500); var up = Uploads[0]; NotificationHelper.ShowNotify(up.UploadItem.Caption?.Truncate(50), up.NotifyFile?.Path, "Album uploaded"); } } catch { } //RemoveThis(); MainPage.Current?.HideMediaUploadingUc(); } catch (Exception ex) { ex.PrintException("ConfigureAlbum"); } }