API данных Youtube .NET: получить только идентификатор видео?

Я использую API YouTube .NET для получения видеопотоков, вот код:

        String[] ids;
        YouTubeRequestSettings settings = new YouTubeRequestSettings("My App Name", "My App Key");
        YouTubeRequest request = new YouTubeRequest(settings);
        Uri uri =
        new Uri("http://gdata.youtube.com/feeds/api/users/nptelhrd/uploads?max-results=50");//Change "GoogleDevelopers" to "default"
        Google.GData.Client.Feed<Video> videoFeed = request.Get<Video>(uri);
        ids = new String[videoFeed.TotalResults];

        int count = 0;
        for (int i = 0; i < 50; i++)
            ids[i] = videoFeed.Entries.ElementAt(i).VideoId;
        for (int i = 50; i < ids.Length-50; i+=50)
        {

            Uri uri2 =
   new Uri("http://gdata.youtube.com/feeds/api/users/nptelhrd/uploads?max-results=50&start-index=" + i.ToString());//Change "GoogleDevelopers" to "default"
            Google.GData.Client.Feed<Video> videoFeed2 = request.Get<Video>(uri);
            for (int j = 0; j < 50; j++)
            {
                ids[i+j] = videoFeed2.Entries.ElementAt(j).VideoId;
                count++;
            }
        }

Приведенный выше код возвращает всю информацию (название, описание, количество просмотров, рейтинг и т. д.) для каждого видео, загруженного пользователем «nptelhrd». Этот конкретный пользователь загрузил 6950 видео.

ВЫШЕУКАЗАННЫЙ КОД ВЫПОЛНЯЕТСЯ 15 МИНУТ при соединении 512 Кбит/с, потому что он извлекает всю информацию о каждом видео, это мучительно медленно, тратит впустую много ресурсов сервера. Нельзя ли изменить приведенный выше код так, чтобы он извлекал только видеоидентификаторы? Как я могу получить только видеоидентификаторы всех видео?


person Ashwin Singh    schedule 10.06.2012    source источник
comment
Если API не поддерживает то, что вам нужно, то просто нет способа достичь вашей цели с помощью API. Решение (хотя, возможно, нежелательное) может состоять в том, чтобы использовать веб-сервер для загрузки этих каналов и повторения идентификаторов видео на странице. Это позволит вам значительно уменьшить количество ненужных данных, которые клиент будет загружать, перенеся большую часть нагрузки на веб-сервер (который, предположительно, хорошо оснащен достаточно сильным соединением, чтобы не беспокоиться о таком сокращении данных) .   -  person Spooky    schedule 11.06.2012
comment
Да, я думаю, это был бы единственный вариант, спасибо!   -  person Ashwin Singh    schedule 11.06.2012


Ответы (1)


При существующих ограничениях .NET YOUTUBE API невозможно получить только VIDEOID.

person Ashwin Singh    schedule 03.07.2012