c# - Youtube Api v3多个视频时长

标签 c# youtube youtube-api

我正在使用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)

我想将这两个过滤器合并为一个。因为“中”过滤器不会在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

}

关于c# - Youtube Api v3多个视频时长,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30380306/

相关文章:

c# - 如何使用正则表达式更改字符串中的组

c# - 如何使用 AddKeyPerFile 在 linux 容器中加载 secret

java - Android Java Youtube API v3.0 获取视频RTSP链接

android - Youtube API "UNAUTHORIZED_OVERLAY"错误

ios - 观察内联和全屏模式之间的变化

c# - 使用正则表达式在匹配前插入字符

c# - 如何找到给定数组的所有可能子集?

php - YouTube 数据 API : authenticate as a resource owner

ios - 如何在 UI TextView 中显示 YouTube 搜索 API 响应?

YouTube 搜索 API 返回的结果与 YouTube 上的手动搜索不同