Youtube Api v3 多个视频时长
Youtube Api v3 multiple video duration
我正在使用 Youtube Api v3 搜索视频。我想接收时长在 0-20 分钟之间的视频。
SearchResource.ListRequest listRequest = SearchResource.List("snippet");
listRequest.Q = query;
listRequest.Type = "video";
listRequest.VideoDuration = SearchResource.ListRequest.VideoDurationEnum.Medium;
Youtube 有定义长度的枚举;
SearchResource.ListRequest.VideoDurationEnum.Short; (0-4 minutes)
SearchResource.ListRequest.VideoDurationEnum.Medium; (4-20 minutes)
我想将这 2 个过滤器合并为一个。因为中等过滤器不会 return 0-4 分钟之间的视频。
可以吗?
就我阅读的文档而言,我没有看到一种优雅的方式来做到这一点。所以创建 2 个请求,合并列表并迭代它们。像这样:
// define 2 separate requests
SearchResource.ListRequest listRequestMedium = SearchResource.List("snippet");
listRequestMedium.Q = query;
listRequestMedium.Type = "video";
listRequestMedium.VideoDuration = SearchResource.ListRequest.VideoDurationEnum.Medium;
SearchResource.ListRequest listRequestShort = SearchResource.List("snippet");
listRequestShort.Q = query;
listRequestShort.Type = "video";
listRequestShort.VideoDuration = SearchResource.ListRequest.VideoDurationEnum.Short;
SearchListResponse shortVideos = listRequestShort.Fetch();
SearchListResponse mediumVideos = listRequestMedium.Fetch();
// merge the 2 result lists and iterate over them
foreach (SearchResult searchResult in shortVideos.Items.Union(mediumVideos.Items).ToList()) {
// do something with the videos
}
我正在使用 Youtube Api v3 搜索视频。我想接收时长在 0-20 分钟之间的视频。
SearchResource.ListRequest listRequest = SearchResource.List("snippet");
listRequest.Q = query;
listRequest.Type = "video";
listRequest.VideoDuration = SearchResource.ListRequest.VideoDurationEnum.Medium;
Youtube 有定义长度的枚举;
SearchResource.ListRequest.VideoDurationEnum.Short; (0-4 minutes)
SearchResource.ListRequest.VideoDurationEnum.Medium; (4-20 minutes)
我想将这 2 个过滤器合并为一个。因为中等过滤器不会 return 0-4 分钟之间的视频。
可以吗?
就我阅读的文档而言,我没有看到一种优雅的方式来做到这一点。所以创建 2 个请求,合并列表并迭代它们。像这样:
// define 2 separate requests
SearchResource.ListRequest listRequestMedium = SearchResource.List("snippet");
listRequestMedium.Q = query;
listRequestMedium.Type = "video";
listRequestMedium.VideoDuration = SearchResource.ListRequest.VideoDurationEnum.Medium;
SearchResource.ListRequest listRequestShort = SearchResource.List("snippet");
listRequestShort.Q = query;
listRequestShort.Type = "video";
listRequestShort.VideoDuration = SearchResource.ListRequest.VideoDurationEnum.Short;
SearchListResponse shortVideos = listRequestShort.Fetch();
SearchListResponse mediumVideos = listRequestMedium.Fetch();
// merge the 2 result lists and iterate over them
foreach (SearchResult searchResult in shortVideos.Items.Union(mediumVideos.Items).ToList()) {
// do something with the videos
}