Как только видео загружается, как проверить его статус обработки с помощью API C# .NET? Ответ должен быть в Google.Apis.Youtube.v3.Data.VideoProcessingDetails, но как именно должен быть создан этот объект? Следующий код бросает System.Net.Http.HttpRequestException:YouTube API v3 Проверка статуса обработки видео
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;
идея, когда видео загружается, проверьте в цикл, если видео по-прежнему обрабатывается и выполняет другие операции над ним после завершения обработки.
UPDATE: Я понял, что если объект конкретизируются после того, как видео загружается (т.е. в частном статическом аннулируются videosInsertRequest_ResponseReceived() метода , например), исключение нет, но как только я пытаюсь доступ к видео. ProcessingDetails.ProcessingProgress.TimeLeftMs.Value, он говорит, что это значение равно null.
Спасибо.