Как получить список видео на ютуб-канале

125
22 ноября 2020, 16:10

Я хочу получить список всех видео на определённом канале youtube, как это можно сделать на c#?

Answer 1

Гугл предоставляет доступ к ютуб при помощи специального 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 следующего запроса.

READ ALSO
Не понимаю пример Шилдта про фабрику класса

Не понимаю пример Шилдта про фабрику класса

недавно начал изучать С#До этого с языками программирования дела не имел

107
Вопрос теоретический про объектный тип Object

Вопрос теоретический про объектный тип Object

Понятно, что есть тип ObjectИ этот тип включает в себя такие методы

98
NotFoundHttpException in RouteCollection.php

NotFoundHttpException in RouteCollection.php

Не получается вывести заголовки категорий Laravel

123