본문 바로가기
공부낙서장/emotional

[개인 사이드 프로젝트] - emotional (YOUTUBE API KEY를 발급받자)

by 곰인간 2024. 4. 20.

스포티파이 API를 사용하려고 했지만,

스포티파이 API 호출 구성

음악 추천을 생각하자마자 원래는 당연하게 스포티파이부터 떠올렸다.

하지만 스포티파이 API 호출을 하려면 스포티파이 로그인이 필수인걸...

만약에 내가 사용자다? 귀찮아서 페이지 이탈 해버릴거 같았다.

그러면 스포티파이를 대체할만한게 뭐가있나?

일단 검색을 해서 얻어낸 결과로는 아이튠즈와 Mania DB, youtube이렇게 좁혀졌다.

일단 아이튠즈의 결격 사유는 무료로 사용하면 분당 호출이 20개로 제한적이라는 점 (분당 20번이나 사용이 될려나...)

Mania DB는 별도의 API KEY를 요구하지 않고, 한국어로 되어있다는 점에서 채택할 뻔..

하지만 안 했던 이유는 youtube api의 mostPopular 쿼리가 맘에 들어버려서이다.

이 쿼리를 사용하게 되면 가장 인기 있는 동영상을 불러오는데 maxResult 쿼리와 사용해서 원하는 갯수만큼의 결과값을 가져올 수가 있었다.
(하지만 이 글을 적는 현재 유튜브에서 갈아탈 생각 뿐이다. 하지만 해결해야할 문제를 해결하고 난 뒤에 갈아탈 것 이다.)

먼저 유튜브 API KEY를 발급 받으려면 구글에 여쭈어야한다. (진짜로;)

구글 클라우드 플랫폼을 검색해서 들어간다. 

구글 클라우드 플랫폼 메인화면

 

API 및 서비스를 클릭한 뒤에 

 

상단 검색창에서 검색해야한다.

상단 검색창에 youtube라고 검색한다.

빨간색 표시를 클릭

빨간색으로 표시된 YouTube Data API v3를 클릭하면 

파란색 버튼이 관리가 아니라 사용이라고 되어있을 것 이다.

파란색 버튼을 눌러서 API KEY를 생성하면 된다.

 

그리고 반드시 

사용자 인증 정보

사용자 인증 정보에 들어가서  API키 1개 라고 되있는 부분을 눌러서 KEY제한을 걸어둘 것

키 제한에는 Youtube만 사용할 수 있게 제한을 걸고, 본인이 배포한 주소만 사용가능하게 제한을 둘 것

이유는 유튜브 API KEY를 사용해서 호출을 하게 되면 호출 URL에 API KEY값이 포함되어 나온다. 

포함된 KEY를 다른 사람이 무분별하게 사용하는 걸 방지하기 위해서 일단 제한을 걸어둔다.

하지만 클라이언트 측에서 KEY값이 보인다는건 너무 치명적이라고 생각을 해서 다양한 방법을 찾아보았다.

먼저 생각한 방법은 NEXT JS의 rewirte을 사용해볼 것

먼저 테스트를 해보았을 때 사용은 되어졌으나 검색 키워드가 동적으로 포함되어야하는 부분에 있어서 의도와는 다르게 호출이 되지 않아 기각시켰다.
(아마 내가 모르는 것 일지도? 키워드 없이 유튜브의 인기 영상과 결과 갯수에 따른 영상은 불러와졌으나 키워드 검색 쿼리는 동적이었기 때문에...전역 상태 관리 라이브러리를 썼으면 가능했을까?)

두번째 방법은 API route를 이용하는 방법인데 현재 진행 중에 있어서 나중에 알랴줌

댓글