1. Youtube Data API의 범위
- Youtube Data API는 재생목록 보기와 단일영상 보기를 동시에 지원하지 않는다.
- 쿼리 결과 중 우리가 원하는 데이터는 {part: 'snippet'}에 담긴다.
- 재생목록을 불러오는 메소드의 파라미터와 단일영상을 불러오는 메소드의 파라미터는 다르다.
<단일영상 쿼리>
search_response = youtube.search().list(
q=query_receive,
order="viewCount",
part="snippet",
maxResults=10
).execute()
<재생목록 쿼리>
search_response = youtube.playlists().list(
id=playlistId_receive,
part="snippet"
).execute()
단일 영상의 쿼리는 q로, 재생목록 쿼리는 id로 시행하는 점의 차이를 알아둬야한다.
2. Youtube Player 또한 두 개의 모드가 존재한다
- 단일 영상 재생과 재생목록 재생은 각자 다른 파라미터를 가지는 플레이어를 쓴다는 것을 알아버렸다.
- 어떻게 알았냐면, 나도 별로 알고싶진 않았다.
<div id="youtube-movie" class="item">
<script>
let video = `<script src = 'https://www.youtube.com/iframe_api'/>`;
$('#youtube-movie').append(video);
let player;
// 단일영상을 불러오는 스크립트
function onYouTubeIframeAPIReady() {
player = new YT.Player('youtube-movie', {
height: '390',
width: '640',
videoId: '<Your Id>',
events: {
'onReady': onPlayerReady,
'onStateChange': onPlayerStateChange,
'onError': onError
}
});
}
// 재생목록을 불러오는 스크립트
function onYouTubePlayerAPIReady() {
player = new YT.Player('player', {
height: '390',
width: '640',
playerVars: {
listType:'playlist',
list: '<YOURPLAYLISTID>'
}
});
}
</script>
</div>
편집기가 탭인덱스를 잘못 인식해서 작성하느라 조금 어려움을 겪었다. 글도 써 본 사람이 잘 쓰는 법이다. 초보가 다 이렇다.
재생목록의 경우 videoId 대신 playerVars가 들어간다는 점 정도를 차이점으로 알아두면 좋겠다.
물론 두 개에 사용되는 메소드의 종류 역시 다르다. 왜 이렇게 만들었을까. 둘다 쓰고싶은 나에게 있어 너무 매정한 처사이지 않을까 싶다.
'내가 배운 것들' 카테고리의 다른 글
일단 먼저 내놓는 미니프로젝트 후기 [ 11/1 - 11/5 ] (0) | 2021.11.06 |
---|
댓글