c# - YouTube C# API V3,如何删除没有ID的部分上传视频?

标签 c# youtube youtube-api google-api-dotnet-client

VideoID 在 ResponseReceived 事件中返回,但不会在上传完成之前返回。如果用户取消并删除上传,如何从 YouTube 服务器中删除它?

我目前正在做的是一个丑陋但有效的黑客。

我将标题设置为唯一的指南。上传完成后,我设置了正确的标题。

如果上传被删除,我将获取第一个 channel 并在播放列表中搜索 GUID 标题。这将返回 VideoID,我可以删除该视频。

必须有更好的方法。我可以使用响应中的 upload_id 吗?

最佳答案

除非有人想出更好的主意,否则这就是我目前正在做的事情,而且看起来效果很好。需要注意的是,如果视频碰巧具有相同的 guid 标签,则视频可能会消失,但我认为这种可能性不大。

使用了一些常量字符串

internal const string PartSnippet = "snippet";
internal const string TypeVideo = "video";

在开始上传之前,我添加了一个 guid 标签。

video.Snippet.Tags.Add(upload.UploadId.ToString());

在 ResponseReceived 事件中,上传完成后,我删除标签

YouTube.RemoveTag(obj, Upload.UploadId.ToString());

internal static void RemoveTag(Video video, string tag)
{           
    video.Snippet.Tags.Remove(tag);
    var updateRequest = YouTubeService.Videos.Update(video, Constants.PartSnippet);
    updateRequest.ExecuteAsync();
}

如果需要从服务器上删除视频,我会通过guid标签搜索它并删除它。

YouTube.DeleteAsyncVideoByGuidTag(Upload.UploadId);

internal async static Task DeleteAsyncVideoByGuidTag(Guid tag)
{
    var listRequest = YouTubeService.Search.List(Constants.PartSnippet);
    listRequest.ForMine = true;
    listRequest.Type = Constants.TypeVideo;
    listRequest.Q = tag.ToString();
    var response = await listRequest.ExecuteAsync();
    foreach (var deleteRequest in response.Items.Select(
        result => YouTubeService.Videos.Delete(result.Id.VideoId)))             
        await deleteRequest.ExecuteAsync();
}

请注意:这是一种解决方法。这不是我想要的方式,但这是我能想到的唯一方式。

关于c# - YouTube C# API V3,如何删除没有ID的部分上传视频?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22369100/

相关文章:

c# - 如何在 sql server 上更新 ItemsSource 时自动刷新数据网格项目

c# - 如何删除 datagrid wpf 中的选定行?

api - google youtube api v3 获取播放列表项没有返回结果

javascript - 通过传递 DOM 对象从 HTML 中的 iframe 创建 YT.Player 对象

c# - Resharper Intellisense 自动导入

c# - WPF:日期时间选择器选择问题

php - 访问YouTube API时出错: 'Warning: file_get_contents() [function.file-get-contents]: URL > file-access is disabled…'

javascript - 如何使用YouTube API获取相关视频的数量?

air - YouTube 150 错误在 Air 应用程序中

php - 获取标题和 likeCount youtube API