Я хочу получить список всех видео на определённом канале youtube, как это можно сделать на c#?
Гугл предоставляет доступ к ютуб при помощи специального API.
Нужно зарегистрироваться в консоли разработчика и получить API KEY - после чего можно делать запросы.
Гугл предоствляет для c# nuget-пакет Google.Apis.YouTube.V3 подключив который можно делать запросы.
Для поиска всех видео на канале, смотрим описание метода Search. Есть и возможность поиграться с запросами прямо из браузера, посмотреть описание всех параметров и увидеть готовые фрагменты кода.
Например, ваш код может быть таким:
async Task Main()
{
var youtubeService = new YouTubeService(new BaseClientService.Initializer()
{
ApiKey = "apiKey",
ApplicationName = "TestLinqpadScript",
});
var searchListRequest = youtubeService.Search.List("snippet");
searchListRequest.ChannelId = "UCMCgOm8GZkHp8zJ6l7_hIuA";
searchListRequest.MaxResults = 10;
searchListRequest.Order = SearchResource.ListRequest.OrderEnum.Date;
var searchListResponse = await searchListRequest.ExecuteAsync();
foreach (var searchResult in searchListResponse.Items)
{
switch (searchResult.Id.Kind)
{
case "youtube#video":
$"{Environment.NewLine}".Dump();
searchResult.Id.VideoId.Dump();
searchResult.Snippet.PublishedAt.Dump();
searchResult.Snippet.Title.Dump();
break;
case "youtube#channel":
case "youtube#playlist":
default:
break;
}
}
}
Получаем примерно следующее в отладчике:
Обратите внимание, что не рекомендуется использовать более 50ти результатов при поиске - следует читать параметр nextPageToken и подставлять его в pageToken следующего запроса.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
недавно начал изучать С#До этого с языками программирования дела не имел
Понятно, что есть тип ObjectИ этот тип включает в себя такие методы