PlaylistItems는 업로드 재생 목록에 대해 전체 20,000 개로 제한되는 것 같습니다. 해결 방법이 있습니까?
최근에 업로드 한 재생 목록은 20,000 개 항목으로 제한되어있는 것 같습니다. 채널에서 업로드 한 모든 동영상 목록을 가져올 수있는 방법이 있나요?
예를 들어 UCFL1sCAksD6_7JIZwwHcwjQ 채널 검색시 57,849 개의 동영상이 있습니다.
https://www.youtube.com/results?search_query=jtbc+entertainment
.
하지만 업로드 재생 목록에는 동영상이 20,000 개 밖에 없습니다.
https://www.youtube.com/playlist?list=UUFL1sCAksD6_7JIZwwHcwjQ
.
Python을 통해 YouTube Data API를 쿼리 할 때 20,000 번째 항목이있는 페이지에 도달하면 nextPageToken이 존재하지 않습니다.
나머지 동영상은 어떻게 찾을 수 있나요?
답변
Search.list다음 매개 변수로 쿼리 된 API 엔드 포인트 를 반복해서 사용해 볼 수 있습니다 .
channelId=UCFL1sCAksD6_7JIZwwHcwjQ
,type=video
,order=date
,publishedBefore=...
,maxResults=50
,
어디에 publishedBefore
적절하게 계산됩니다.
이니셜 publishedBefore
은로 호출 publishedAt된 PlaylistItems.list엔드 포인트 에서 가져온 마지막 비디오 의 속성 값 (시간순) 보다 1 초 전에 설정 됩니다 playlistId=UUFL1sCAksD6_7JIZwwHcwjQ
.
의 연속 값은 publishedBefore
마찬가지로 끝점 publishedAt에 대한 이전 호출의 (시간순) 마지막 비디오 속성 값보다 1 초 전으로 설정 Search.list
됩니다.
한 가지 더 언급 : API가 위의 알고리즘을 사용하여 20000 제한을 초과 할 수 있다고하더라도 (그럴지는 모르겠습니다. 직접 테스트해야 함)이 절차의 비용 매우 높습니다. 각 Search.list
엔드 포인트 호출에는 100 단위 의 할당 비용 이 있습니다 (실제로 비쌉니다).