Почему я могу получить только 25 YouTube видео из канала? - PullRequest
2 голосов
/ 02 декабря 2011

У меня есть этот код на C # /. NET:

string user = "Username";
string feedUrl = "http://gdata.youtube.com/feeds/api/users/" + user + "/uploads";
Feed<Video> videoFeed = request.Get<Video>(new Uri(feedUrl));

foreach (Video entry in videoFeed.Entries)
{
    // print video
}

, но я могу получить только 25 видео!

Я знаю максимальное количество видео в ленте составляет 999:

API возвращает фид видео в ответ на запрос на поиск видео.Фид видео содержит максимум 999 записей.Чтобы получить результаты поиска, отправьте запрос API по следующему URL:

http://gdata.youtube.com/feeds/projection/videos?v=2

Так почему 25?

Пробовал с uploads/?start-index=0&max-results=999, но ничего...

1 Ответ

8 голосов
/ 02 декабря 2011

Число 999 относится к максимальному количеству видео, которое может существовать в плейлисте или фиде:

API возвращает фид видео в ответ на запрос на поиск видео.Канал видео содержит не более 999 записей.

По умолчанию он возвращает 25 результатов, хотя вы можете изменить это:

Параметр max-results указывает максимальное числорезультатов, которые должны быть включены в набор результатов.Этот параметр работает в сочетании с параметром start-index, чтобы определить, какие результаты нужно вернуть.Например, чтобы запросить второй набор из 10 результатов, то есть результатов 11-20, задайте для параметра max-results значение 10, а для параметра start-index значение 11. Значение по умолчанию для этого параметра - 25, а максимальное значение - 50.Однако для отображения списков видео мы рекомендуем установить для параметра max-results значение 10.

http://code.google.com/intl/it-IT/apis/youtube/2.0/reference.html#max-resultssp

Максимальное значение max-results равно 50,поэтому вам нужно будет выполнить несколько запросов, используя start-index для получения каждого блока результатов.

...