Skip to content
yewon edited this page Jul 15, 2021 · 4 revisions

Youtube Search_list 구현

참고 링크

1. 구글 Project 등록

application등록링크 에서 먼저 프로젝트 생성을 한다.

그리고 검색창에 Youtube Data API V3 을 검색해 사용설정을 한다.

스크린샷 2021-07-15 오후 2 47 27

2. Spring MVC Project 생성

  • java 1.7 버전 이상을 사용해야 한다.

3. pom.xml에 maven dependency 추가

pom.xml

<!-- https://mvnrepository.com/artifact/com.google.apis/google-api-services-youtube -->
<dependency>
	<groupId>com.google.apis</groupId>
	<artifactId>google-api-services-youtube</artifactId>
	<version>v3-rev222-1.25.0</version>
</dependency>

<!-- https://mvnrepository.com/artifact/com.google.http-client/google-http-client-jackson2 -->
<dependency>
	<groupId>com.google.http-client</groupId>
	<artifactId>google-http-client-jackson2</artifactId>
	<version>1.39.2</version>
</dependency>

<!-- https://mvnrepository.com/artifact/com.google.api-client/google-api-client -->
<dependency>
	<groupId>com.google.api-client</groupId>
	<artifactId>google-api-client</artifactId>
	<version>1.32.1</version>
</dependency>

<!-- https://mvnrepository.com/artifact/com.google.http-client/google-http-client -->
<dependency>
	<groupId>com.google.http-client</groupId>
	<artifactId>google-http-client</artifactId>
	<version>1.39.2</version>
</dependency>

4. YoutubeVO.java 생성

YoutubeVO.java

youtube에 검색어를 입력한 결과로 가져오고싶은 데이터들을 변수로 만들고, Getters & Setters 함수를 생성한다.

스크린샷 2021-07-15 오후 3 00 59

5. YoutubeDAO.java 생성

YoutubeDAO.java

Search.java 소스코드 링크 Youtube-API 공식 사이트에서 제공하는 java 소스코드를 가져온다.

6. YoutubeProvider, Service.java 생성

YoutubeProvider.java YoutubeService.java

YoutubeDAO 파일에 있는 함수를 선언해준다.

스크린샷 2021-07-15 오후 3 04 27 --> YoutubeProvider.java

스크린샷 2021-07-15 오후 3 05 07 --> YoutubeService.java

7. Controller

Controller.java

스크린샷 2021-07-15 오후 3 49 55

  • public String main(Model model) 함수는 youtube 검색 화면으로 이동시킨다.

  • main 페이지에서 검색어를 입력하면 public String searchAction(String keyword, Model model)이 실행된다. 사용자로부터 keyword를 받아와 YoutubeDAO 파일의 fetchVideosByQuery 함수가 실행되고 유튜브 영상 검색한 결과 리스트가 videos 에 담겨 다시 main페이지로 이동할 때 model에 저장되어 전송된다.

8. main.jsp 유저 페이지

main.jsp

사용자가 유튜브 영상 검색할 수 있는 검색창을 만들고, 검색 keyword를 전송해 그 결과를 받아오면 같은 페이지에 결과 리스트를 나타낸다.