Сортировка результата Youtube API из плейлиста

Я сейчас борюсь с Youtube API v3, и я не могу заставить его работать так, как я хочу. Моя цель - загрузить на свой веб-сайт самые свежие видео из выбранного плейлиста. Проблема в том, что я отвечаю только на самые старые видео.

Чтобы загрузить плейлист, я запрашиваю следующий URI API: https://www.googleapis.com/youtube/v3/playlistItems

Вот пример запроса (просто нажмите "Выполнить"): http://developers.google.com/apis-explorer/#p/youtube/v3/youtube.playlistItems.list?part=id%252Csnippet%252CcontentDetails%252Cstatus&playlistId=PLOU2XLYxmsIKGo-dgliIJQNZ6L3G8UV4b&_h=1&

Как отсортировать результат и сначала получить самые свежие видео? Я ничего не могу найти в документации и безуспешно искал в Google. Нет смысла использовать этот API, если вы не можете отсортировать результат. Единственный способ - загрузить все видео, продолжая загружать следующую страницу по токену, но это просто безумие.

Любая идея? Звучит как основная проблема, но я не могу найти решения ...


person LetsGoRangers    schedule 06.04.2014    source источник


Ответы (4)


Текущий API не имеет опции сортировки для перечисления элементов списка воспроизведения, но если вы вставляете элементы программно, вы можете указать значение position при вставке, чтобы новые видео появлялись в верхней части списка.

Если видео добавляет кто-то другой, вам придется получить все страницы. Поскольку плейлисты ограничены 200 элементами, для этого требуется не более 4 запросов. Не идеально, но сейчас это единственный вариант.

person Vinicius Pinto    schedule 06.04.2014
comment
Хорошо, вот чего я боялся. Довольно бесполезный API, если вы меня спрашиваете. - person LetsGoRangers; 06.04.2014
comment
Заметили, что результаты упорядочены в зависимости от настроек плейлиста? (которым вы должны владеть, чтобы изменить курс). - person Kapé; 21.02.2017
comment
Да, поняли, нам нужно изменить настройки в плейлисте. В расширенных настройках плейлиста есть опция Заказ. - person ajaykc86; 13.07.2020
comment
Расширенные настройки плейлиста отключены - person Carherpi; 10.11.2020
comment
@Carherpi просто попробовал, и он включен. Вы можете изменить настройки только вашего собственного плейлиста. - person Moses Aprico; 23.01.2021

В настоящее время это кажется ограничением API YouTube, и его создатели довольно недальновидны.

Это не решает вашу точную проблему, но я обнаружил, что для других, у которых есть аналогичная проблема, с помощью поискового запроса вы можете в определенной степени заказать.

Это помогло мне заказать запрос списка воспроизведения (не playlistItems) путем поиска списков воспроизведения, а не запроса списка списков воспроизведения. Таким образом, мой запрос:

https://www.googleapis.com/youtube/v3/playlists?part=snippet&maxResults=20&channelId={channelID}&key={API_KEY}

стал:

https://www.googleapis.com/youtube/v3/search?part=snippet&type=video&order=date&safeSearch=none&maxResults=20&channelId={channelID}&key={API_KEY}

Вы также можете искать видео, термины запроса и несколько других параметров, так что, возможно, вы сможете получить желаемые результаты таким образом.

person Paul Thomas    schedule 21.01.2015
comment
Спасибо @ paul-thomas-gc. Я изменил тип на video, и это дает мне отсортированные результаты - person kitwalker; 24.03.2017
comment
Я наблюдал редкие случаи, когда поиск не возвращает все видео. Я предполагаю, что YouTube полностью удаляет некоторые неприемлемые видео из поиска, даже если вы используете safeSearch=none. - person analog-nico; 18.06.2017

На данный момент это единственный доступный вариант. Вместо того, чтобы пытаться отсортировать список видео по URL-адресу HTTP-запроса, вы можете отсортировать порядок в настройках списка воспроизведения учетной записи YouTube.

В настройках списка воспроизведения вы можете либо вручную перетащить и изменить список, либо есть возможность изменить порядок. Youtube Data API будет выводить данные по мере их отображения в плейлисте.

Резюме: измените порядок плейлистов в учетной записи YouTube вместо того, чтобы пытаться фильтровать данные с помощью HTTP-запросов.

К вашему сведению: настройки списка воспроизведения могут быть изменены только учетной записью загрузчика. Надеюсь, это поможет.

person Thivanka Sarathchandra    schedule 27.05.2019

У меня была такая же проблема ... вместо того, чтобы использовать API, чтобы сначала получить новейшие (похоже, нет способа сделать это), почему бы вам сначала просто не отсортировать видео в своем плейлисте, а затем использовать API который вернет их в том порядке, в котором они появляются в списке воспроизведения.

Примерно так: https://community.tubepress.com/topic/5624-how-to-customize-sort-order-of-youtube-playlists/.

person TABISH KHAN    schedule 27.05.2019