본문 바로가기
내가 배운 것들

항해99 11/1(월) TIL

by Zabee52 2021. 11. 5.

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가 들어간다는 점 정도를 차이점으로 알아두면 좋겠다.

물론 두 개에 사용되는 메소드의 종류 역시 다르다. 왜 이렇게 만들었을까. 둘다 쓰고싶은 나에게 있어 너무 매정한 처사이지 않을까 싶다.

 

댓글