Я пытаюсь получить все видео для канала, но некоторые из них не возвращаются API. Я не могу найти в спецификации ничего, что указывало бы на то, почему некоторых из них нет в результирующем наборе.
Я звоню:
https://www.googleapis.com/youtube/v3/search?type=video&key=__key_here__&channelId=UCxS2lX7728bTnmK1t21bYlA&part=id,snippet&maxResults=50&order=title
[Для проверки вам понадобится ваш собственный ключ API]
На первой странице результатов отсутствует хотя бы одно видео. Сообщение от 15.08.2018 под названием Я УЗНАЛ, КАК СДЕЛАТЬ НОВЫЙ ТРЮК!, которое находится здесь, отсутствует в результирующем наборе, хотя оно попадает в диапазон дат и первые 50 результатов.
Кто-нибудь знает, известна ли это проблема?
Я проверил, что если я добавлю параметр q с идентификатором видео, он его получит.
Вы можете обратиться к этому ссылка.
The API call that you should make if you want to get the videos in a channel is a
youtube.playlistItems.list()
with theplaylistId
of the "uploads" playlist for the channel. (This usually stars withUU...
, but that's an implementation detail that might change in the future.Here's an example of the call in the API Explorer.
Getting the same data via a search operation isn't guaranteed to return everything; the search index isn't a replacement for the backend data that you can obtain via the
youtube.playlistItems.list()
call. It's very much the same point raised in this blog post (though the focus there is on v2).
Подводя итог, чтобы получить все загрузки с канала, вам нужно получить элементы из списка воспроизведения загрузок для канала, используя playlistItems.list
для идентификатора этого списка воспроизведения, а не вызывать search.list
для идентификатора канала.
Пытаюсь получить видео с чужого канала. Можно ли будет в таком случае воспользоваться этим методом?