YouTube V3 API C#-ResumeAsync()操作已取消



我在使用Resumesync()方法的YouTube API方面遇到一些问题。

这是我的密码。。。

        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);
        }

恢复在哪里合适?

当我重新启动应用程序时,我是否应该序列化的ResumeableUpload对象?

我似乎需要为下一次保留UploadUri,下一次,设置这个UploadUri和StreamLength属性。但是,这两个字段在API中都是PRIVATE。

除了使用反射来设置这些私有属性之外,还有更好的方法吗?

自1.14版起,Google API v3.NET客户端库包含在ResumeUpload会话期间保存UploadUri的功能,以及以后在程序重新启动时使用该UploadUri恢复上载的功能。

中有两个ResumeableUpload示例https://github.com/google/google-api-dotnet-client-samples演示了.ResumeSync与以前保存的UploadUri的附加参数的使用。上传开始时调用的UploadSessionData事件向客户端程序提供UploadUri,以便客户端程序可以将其保存到永久存储中,以便在程序重新启动时检索。

相关内容

  • 没有找到相关文章