我在使用ResumeAsync()方法时遇到了一些YouTube API问题。YouTube V3 API C# - ResumeAsync()操作已取消
这里是我的代码...
YouTubeService youtube = await AuthService.AuthenticateYouTubeAsync(auth);
ResumableUpload<Video, Video> vidUploadReq = null;
var video = new Video();
video.Snippet = new VideoSnippet();
video.Snippet.Title = videoToUpload.Title;
video.Snippet.Description = videoToUpload.Description;
video.Snippet.Tags = videoToUpload.Tags;
video.Snippet.CategoryId = videoToUpload.CategoryID;
video.Status = new VideoStatus();
video.Status.PrivacyStatus = videoToUpload.PrivacyStatus;
var filePath = videoToUpload.LocalFilePath;
// Get chunk size and make sure it's valid
int chunkSizeBytes = defaultChunkSizeKB * 1024;
using (var fileStream = new FileStream(filePath, FileMode.Open))
{
vidUploadReq = youtube.Videos.Insert(video, "snippet,status", fileStream, "video/*");
vidUploadReq.ProgressChanged += videoUploadRequest_ProgressChanged;
vidUploadReq.ResponseReceived += videoUploadRequest_ResponseReceived;
vidUploadReq.ChunkSize = chunkSizeBytes;
await vidUploadReq.UploadAsync(token);
}
哪里重新开始适应这个?
我是否希望在重新启动应用程序时序列化ResumableUpload对象?
好像我需要保留UploadUri下次,下次设置UploadUri和StreamLength属性。但是,这两个字段在API中都是PRIVATE。
除了使用反射设置这些私有属性以外,还有更好的方法吗?
检查此SO问题[21321878](http://stackoverflow.com/questions/21321878/youtube-c-sharp-api-v3-how-do-you-resume-an-interrupted-upload)如果它可以帮助你:) – KENdi
是的,我在发布之前看过这个帖子。但是,它不回答我的问题。我的问题几乎是“除了使用反射设置这些私有属性以外,还有更好的方法吗?”...您的链接提供了反射有效的示例。这根本不是解决这个问题的好方法。它破坏了O-O编程信息隐藏原理的目的。你现在看到了吗? – Ginko
链接'解决'问题,这是不是隐藏了这是一个问题的事实。 – Ginko