채널의 모든 동영상을 보려면 Yt gem을 사용하고 싶습니다. 내 YouTube Data API 키로 보석을 구성합니다.Yt 보석을 사용하여 YouTube 채널의 모든 동영상을 가져 오는 방법은 무엇입니까?
불행히도 1000 개 이상의 동영상이있는 채널의 경우에도 최대 1000 개의 동영상을 반환합니다. Yt::Channel#video_count
은 올바른 비디오 수를 반환합니다.
channel = Yt::Channel.new id: "UCGwuxdEeCf0TIA2RbPOj-8g"
channel.video_count # => 1845
channel.videos.map(&:id).size # => 949
유튜브 API
는 요청에 따라 50 개 이상의 항목을 반환하도록 설정, 그래서 나는 yt에 자동으로 결과를 각각 다음 페이지를 거치지 여러 요청이 50 개 이상의 결과를 반환 할 수 있도록 수행 추측 할 수 없습니다.모든 결과 페이지를 살펴 보지는 않지만 어떤 이유로 든. 결과 페이지를 어떻게 제어하는지 Yt에 표시되지 않습니다. 특히, 결과의 단일 페이지를 얻고,이 값으로 새 요청을 수행하기 위해 리턴 값 nextPageToken
에 액세스하도록 강제 할 수있는 방법을 찾을 수 없습니다.
아이디어가 있으십니까?
감사하지만 난 그냥 https://www.youtube.com/channel에 나열된 비디오의 수를 계산 한/UCGwuxdEeCf0TIA2RbPOj-8g/videos (모든 동영상이 표시 될 때까지 '추가로드'를 클릭했습니다.) 실제로 'channel.video_count'와 정확히 일치합니다 (1845). 그래서 나는'channel.videos'가 모든 채널 비디오를 반환하지 않는 것으로 보입니다. – Florent2
당신 말이 맞아요. 더 정확하게 사례를 테스트 했어야합니다. 내가 읽은 바에 따르면 YT API는 최대 1k 개의 레코드로 제한됩니다. 그것은 그 보석이 한계를 초과함에 따라 모든 비디오를 반환 할 수없는 이유를 주로 설명합니다. – DiodonHystrix