private void btnOK_Click(object sender, System.EventArgs e) { Title = txtTitle.Text; Description = txtDescription.Text; Visibility = (YouTubeVideoPrivacy)cbVisibility.SelectedIndex; DialogResult = DialogResult.OK; Close(); }
public YouTubeVideoOptionsForm(string title = "", string description = "", YouTubeVideoPrivacy visibility = YouTubeVideoPrivacy.Private) { InitializeComponent(); ShareXResources.ApplyTheme(this); Title = title; Description = description; Visibility = visibility; txtTitle.Text = title; txtDescription.Text = description; cbVisibility.Items.AddRange(Helpers.GetLocalizedEnumDescriptions <YouTubeVideoPrivacy>()); cbVisibility.SelectedIndex = (int)Visibility; }
public override UploadResult Upload(Stream stream, string fileName) { if (!CheckAuthorization()) { return(null); } string title = Path.GetFileNameWithoutExtension(fileName); string description = ""; YouTubeVideoPrivacy visibility = PrivacyType; if (ShowDialog) { using (YouTubeVideoOptionsForm form = new YouTubeVideoOptionsForm(title, description, visibility)) { if (form.ShowDialog() == DialogResult.OK) { title = form.Title; description = form.Description; visibility = form.Visibility; } else { return(null); } } } YouTubeVideoUpload uploadVideo = new YouTubeVideoUpload() { snippet = new YouTubeVideoSnippet() { title = title, description = description }, status = new YouTubeVideoStatusUpload() { privacyStatus = visibility } }; string metadata = JsonConvert.SerializeObject(uploadVideo); UploadResult result = SendRequestFile("https://www.googleapis.com/upload/youtube/v3/videos?part=id,snippet,status", stream, fileName, "file", headers: googleAuth.GetAuthHeaders(), relatedData: metadata); if (!string.IsNullOrEmpty(result.Response)) { YouTubeVideoResponse responseVideo = JsonConvert.DeserializeObject <YouTubeVideoResponse>(result.Response); if (responseVideo != null) { if (UseShortenedLink) { result.URL = $"https://youtu.be/{responseVideo.id}"; } else { result.URL = $"https://www.youtube.com/watch?v={responseVideo.id}"; } switch (responseVideo.status.uploadStatus) { case YouTubeVideoStatus.UploadFailed: Errors.Add("Upload failed: " + responseVideo.status.failureReason); break; case YouTubeVideoStatus.UploadRejected: Errors.Add("Upload rejected: " + responseVideo.status.rejectionReason); break; } } } return(result); }