C# YouTube API v3检查视频处理状态

C# YouTube API v3检查视频处理状态,c#,youtube,youtube-api,youtube.net-api,youtube-data-api,C#,Youtube,Youtube Api,Youtube.net Api,Youtube Data Api,视频上传后,如何使用C#NET的API检查其处理状态? 答案应该在中,但该对象应该如何具体实例化?以下代码引发System.Net.Http.HttpRequestException: video.ProcessingDetails = new VideoProcessingDetails(); 上述代码在以下上下文中使用: UserCredential credential; using (FileStream stream = new FileStream("client_s

视频上传后,如何使用C#NET的API检查其处理状态? 答案应该在中,但该对象应该如何具体实例化?以下代码引发System.Net.Http.HttpRequestException:

video.ProcessingDetails = new VideoProcessingDetails();
上述代码在以下上下文中使用:

 UserCredential credential;
 using (FileStream stream = new FileStream("client_secrets.json", FileMode.Open, FileAccess.Read))
 {
        credential = GoogleWebAuthorizationBroker.AuthorizeAsync(
        GoogleClientSecrets.Load(stream).Secrets,
                new[] { YouTubeService.Scope.Youtube, YouTubeService.Scope.YoutubeUpload },
                "user",
                CancellationToken.None,
                new FileDataStore("YouTube.Auth.Store")).Result;
 }
 var youtubeService = new YouTubeService(new BaseClientService.Initializer()
 {
        HttpClientInitializer = credential,
        ApplicationName = Assembly.GetExecutingAssembly().GetName().Name
  });

  var video = new Video();
  video.Snippet = new VideoSnippet();
  video.Snippet.Title = Title;
  video.Snippet.Description = Description;
  video.Snippet.Tags = Tags;
  video.ProcessingDetails = new VideoProcessingDetails(); // Here it throws an exception
  video.Snippet.CategoryId = CategotyId;
  video.Status = new VideoStatus();
  video.Status.PrivacyStatus = PrivacyStatus;
  var filePath = FilePath;
想法是,一旦上传视频,检查循环中的视频是否仍在处理,并在处理完成后对其执行其他操作

更新:我发现如果在上传视频后实例化了对象(例如,在私有静态void videosInsertRequest\u ResponseReceived()方法中),则异常消失,但一旦我尝试访问视频。ProcessingDetails.ProcessingProgress.TimeLeftMs.Value,它表示该值为空


谢谢。

在我自己的工作中,我发现当ProcessingDetails.ProcessingStatus等于“terminated”时,ProcessingDetails中的所有其他属性都等于零(即null)。我相信这意味着YouTube已经完成了对视频的处理

在尝试使用Google API v3属性之前,我通常会检查它是否为null