[TIL] 카테고리/기타

YouTube Data API v3 으로 유튜브 검색 결과 가져오기

티레이니 2022. 6. 13. 18:38

미니 프로젝트를 진행하다가 사용자가 동영상 URL을 입력해야 하는 부분에서,

유튜브에서 직접 가져오도록 하는 것이 어떻겠냐는 기술 멘토님의 조언을 받았다.

..? 그거 어떻게 하는건데요...?

 

유튜브에서 검색결과를 가지고 오려면 YouTube Data API v3을 이용해야한다고 한다 :)

 

(추천 영상 리스트를 가져오거나,  특정 채널의 동영상 리스트를 가져오거나,
영상 댓글을 가져오거나, 영상을 올리는 등등.. 많은 일들이  이 API를 사용해서 가능하다.

 

 

https://console.cloud.google.com/

 

Google 클라우드 플랫폼

로그인 Google 클라우드 플랫폼으로 이동

accounts.google.com

 

 

 

구글 클라우드 플랫폼 콘솔에서 프로젝트를 추가해주고, 
유튜브를 검색해서 YouTube Data API v3를 사용설정해준다.

 

 

 

마찬가지로 구글 클라우드 플랫폼 콘솔에서 API 및 서비스 메뉴의 사용자 인증 정보에서 
+사용자 인증 정보 만들기 클릭 후 API키를 생성해준다.

 

이 key가 없으면 정보를 받아올 수 없다.

 

** key값을 통해 사용량을 체크해서 일일 할당량이 넘으면 사용이 막힌다고 한다.

 

 

이제 기본 설정 끝났고~ ㅎ...

 

나에게 필요한 검색 & 리스트 긁어오는 기능은 프로젝트 내에서

 

   axios.get('https://www.googleapis.com/youtube/v3/search?'+설정값')
      .then(response => response.data.items)

 

요렇게 get으로 간단하게 가져올 수 있다.

 

!! 설정값에는 꼭 key 값이 들어가야한다 !!

그 외에는 알아서 필요한 것들 넣어주면 됨!

 

이걸 왜 그랬나 싶긴 한데 나는 굳이굳이(...) 보기 힘들게 링크를 다 풀어서 적었다.

('https://www.googleapis.com/youtube/v3/search?
part=snippet&maxResults=8&type=video&key=API키값&q=검색어')

 

 

사실 그냥 params 로 넣어주면 된다...

{
    key : 위에서 받아온 API 키 값,
    part: snippet,
    type: video,
    maxResult : 보여줄 검색결과 갯수. 나는 애매하게 8개 정도로 잡았다. 숫자로 넣어주면 된다,
    q: 검색어
}

 

 

https://developers.google.com/youtube/v3/docs/search/list

 

Search: list  |  YouTube Data API  |  Google Developers

Search: list API 요청에 지정된 쿼리 매개변수와 일치하는 검색결과의 모음을 반환합니다. 기본적으로 검색결과의 집합은 쿼리 매개변수와 일치하는 video, channel, playlist 리소스를 식별하지만, 특정

developers.google.com

 

구체적인 사용방법은 및 다른 설정값들은 위 링크에서 확인하면 된다 .

 

 

이렇게 받아오면 response가 대강 이렇게 온다.

 

 

나에게 필요한 데이터는 저기 표시해놓은 아이들이었다. 

예쁘게 잘 받아진 데이터 ㅎ.. 행.. 복...

 

썸네일 이미지는 3종류가 오는데, default는 가장 작은 이미지, high는 고화질(큰)이미지, medium은 중간화질이다. 

영상 재생 링크를 얻고 싶으면 https://www.youtube.com/watch?v=영상ID 를 하면 된다.

 

- 끗 -