如何使用 Youtube api 查找直播视频列表?
How to find a List of Live videos using Youtube api?
我需要使用 Youtube Api v3
从任何频道获取直播活动列表
我将官方 NuGet 包添加到我的 wpf 项目中:
使用Google.Apis.Auth.OAuth2;
使用 Google.Apis.Services;
使用 Google.Apis.Util.Store;
使用 Google.Apis.YouTube.v3;
我在单击按钮时添加了 OAuth 身份验证:
UserCredential credential;
using (var stream = new FileStream("mydowloadedjsonfile.json", FileMode.Open, FileAccess.Read))
{
credential = GoogleWebAuthorizationBroker.AuthorizeAsync(
GoogleClientSecrets.Load(stream).Secrets, new[] { YouTubeService.Scope.YoutubeReadonly }, "user",
CancellationToken.None, new FileDataStore("YouTubeAPI")
).Result;
}
var service = new YouTubeService(new BaseClientService.Initializer()
{
HttpClientInitializer = credential,
ApplicationName = "YouTubeAPI"
});
这段代码效果很好,它打开浏览器进行身份验证并允许我的用户使用 YouTube 权限
之后,我试图获取现场活动列表,但失败了:
var request = service.Search.List("snippet");
request.Q = "live event";//I know this is wrong...
request.MaxResults = 10;
var response = request.Execute();
显然我做错了,有人能指出正确的方向吗?
我通过使用此请求找到了答案:
var request = service.Search.List("snippet");
request.Q = txtSearch.Text.Trim();
request.EventType = SearchResource.ListRequest.EventTypeEnum.Live;
request.Type = "video";
request.MaxResults = 10;
request.Type 是必需的,否则你会得到 google 异常。 Api 开发人员让它变得非常丑陋......它乞求成为枚举或其他东西
我需要使用 Youtube Api v3
从任何频道获取直播活动列表我将官方 NuGet 包添加到我的 wpf 项目中:
使用Google.Apis.Auth.OAuth2; 使用 Google.Apis.Services; 使用 Google.Apis.Util.Store; 使用 Google.Apis.YouTube.v3;
我在单击按钮时添加了 OAuth 身份验证:
UserCredential credential;
using (var stream = new FileStream("mydowloadedjsonfile.json", FileMode.Open, FileAccess.Read))
{
credential = GoogleWebAuthorizationBroker.AuthorizeAsync(
GoogleClientSecrets.Load(stream).Secrets, new[] { YouTubeService.Scope.YoutubeReadonly }, "user",
CancellationToken.None, new FileDataStore("YouTubeAPI")
).Result;
}
var service = new YouTubeService(new BaseClientService.Initializer()
{
HttpClientInitializer = credential,
ApplicationName = "YouTubeAPI"
});
这段代码效果很好,它打开浏览器进行身份验证并允许我的用户使用 YouTube 权限
之后,我试图获取现场活动列表,但失败了:
var request = service.Search.List("snippet");
request.Q = "live event";//I know this is wrong...
request.MaxResults = 10;
var response = request.Execute();
显然我做错了,有人能指出正确的方向吗?
我通过使用此请求找到了答案:
var request = service.Search.List("snippet");
request.Q = txtSearch.Text.Trim();
request.EventType = SearchResource.ListRequest.EventTypeEnum.Live;
request.Type = "video";
request.MaxResults = 10;
request.Type 是必需的,否则你会得到 google 异常。 Api 开发人员让它变得非常丑陋......它乞求成为枚举或其他东西