IT/PHP

[PHP] 유튜브 API 좋아요, 구독자수, 채널ID 받기 (1)

월공 2020. 8. 26. 13:37
728x90
300x250

PHP 에서 유튜브 api 연동하여 구독자수, 좋아요, 댓글 수 등등 을 가져오는 작업 포스팅하겠습니다.

유튜브 API KEY 가 꼭 있어야함으로 이미 발급 되있다는 가정하에 진행하구요.

구글링 좀만해보면 api key 받는거는 쉬우니까 금방하실거에요 ~

유튜브에서 제공되는 API 로 채널 ID 를 넣으면 구독수를 가져올수 있고, 영상의 수 등을 가져올수 있는데

정확히 뭘 가져올수있는지는 아래 유튜브 API 링크 첨부하오니 메뉴얼 한번 참조하시길 바랍니다.

 

https://developers.google.com/youtube/v3/docs/channels?hl=ko

 

Channels  |  YouTube Data API  |  Google Developers

channel 리소스에는 YouTube 채널에 대한 정보가 포함되어 있습니다. 메소드 API는 channels 리소스에 다음 메소드를 지원합니다. list 요청 기준과 일치하는 0개 이상의 channel 리소스 집합을 반환합니다.

developers.google.com

 

 

유튜브 주소를 자주 보신분이라면 어느것이 영상 ID 인지쯤은 누구나 알아챌수 있으실겁니다.

v= 이후에 오는 "IPXIgEAGe4U" 이게 바로 해당 유튜브 영상의 고유코드값이구요.

쉽게말해 게시판에 해당 게시물의 고유 번호가 있듯이 그런거라고 보시면됩니다.

여기서 잠깐 영상의 ID 값채널 ID 를 헷갈리시면 안됍니다.

채널은 해당 작성자가 업로드한 영상이 모여져있는 공간 이라고 보시면됩니다.

영상 url ex) https://www.youtube.com/watch?v=IPXIgEAGe4U

채널 url ex) https://www.youtube.com/channel/UColJTBTSGqaaZr5NOk5r3Pg

위 링크에서 영상의 ID 값IPXIgEAGe4U 가 되겠습니다.

 

 

 

이 해당 영상을 기준으로 한번 긁어와 보겠습니다

https://www.googleapis.com/youtube/v3/videos?id=IPXIgEAGe4U&key=발급받은API키&part=snippet

id="" 에는 당연히 해당 영상의 고유 ID 가 들어가야하고

key ="" 에는 본인이 발급받은 유튜브 Api Key 가 들어가야합니다.

유튜브 API 제공하는곳을 참고하여 파라미터를 조정후에 웹페이지로 접속을 하시면

아래 스샷처럼 JSON 으로 값을 내보내 주는걸 볼수있습니다.

 

해당 영상의 썸네일, 제목 등 긁어올수 있습니다.

하지만 제가 필요한건 제목도 아니고, 썸네일도 아닙니다.

이 링크만으로 이용해서 구독자수를 긁어와야하는게 이슈였는데요.

구독자수를 긁어오려면 바로 긁어올순없고 우선 채널 ID 를 이용해서 긁어와야합니다.

여튼 우선 PHP 로 유투브 링크에서 채널 ID 받아오는 소스 아래참고 부탁드립니다.

 

 $youtube_api_key = "유튜브에서 발급받은 API KEY 가 필요합니다.";
 $url = "유튜브 영상 링크"; //https://www.youtube.com/watch?v=IPXIgEAGe4U

parse_str( parse_url( $url, PHP_URL_QUERY ), $u_id ); // v= 이후로 영상ID 짤라오기
$snippet_url = "https://www.googleapis.com/youtube/v3/videos?id=".$u_id['v']."&fields=items&key=".$youtube_api_key."&part=snippet"; //채널 ID 알아낼수있음 -> 구독자수
$snippet_json = file_get_contents($snippet_url); //file_get_contents 웹 JSON 읽어오기

foreach ( $snippet_ob->items as $data ){
	$channelId = $data->snippet->channelId;	   // 채널 ID 
}

//결과값 : UColJTBTSGqaaZr5NOk5r3Pg

foreach 문 안에 있는건 응용하셔서 채널 ID 이외에 타이틀이라던가 썸네일 주소라던가 다 받아올수있습니다.

#유튜브API #유튜브연동 #php유튜브연동 #유튜브채널연동 #유튜브구독자수가져오기 #유튜브구독자수

728x90
300x250