В настоящее время я использую это для получения списка идентификаторов видео с данного канала:
GET https://www.googleapis.com/youtube/v3/search?order=date&part=snippet&channelId=CHANNEL_ID&type=video&maxResults=50&key=API_KEY
Это работает, однако канал, с которого я хочу получить видео, имеет более 50 онлайн-видео. Я уже рассматривал эту проблему API YouTube для извлечения всех видео на канале , но каждое решение снова в режиме онлайн извлекает не более 50 видео.
Как я могу получить каждое видео, а не только 50?
Вот видео с канала разработчиков YouTube, которое действительно помогло мне в этом: https://youtu.be/RjUlmco7v2M. Оно направлено на людей, переходящих с v2 на v3 (чего я не делал), но я продолжал смотреть и узнал довольно много вещи.
Итак, я получил решение:
(1) Сначала я использую https://www.googleapis.com/youtube/v3/channels?id=CHANNEL_ID&key=API_KEY&part=contentDetails для получения идентификатора списка загрузок.
(2) Используя https://www.googleapis.com/youtube/v3/playlistItems?playlistId=UPLOAD_ID&key=API_KEY&part=snippet&maxResults=50 Я получаю первые 50 результатов и страницу со знаком.
(3) С помощью токена я могу получить идентификаторы со следующих страниц: https://www.googleapis.com/youtube/v3/playlistItems?playlistId=UPLOAD_ID&key=API_KEY&part=snippet&pageToken=PAGE_TOKEN&maxResults=50
(4) Используя рекурсивный метод, я могу использовать следующий токен, полученный из (3), для сканирования следующей страницы.