IT/PHP

[PHP] 유튜브 API 연동 채널 영상 개수, 구독자수,좋아요수 가져오기 (2)

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

자 1편에서 채널 ID를 받아왔으니 이제 그걸 돌려서 구독자수 그리고 해당 채널의 영상 갯수를 뽑아보겠습니다.

채널 ID : UColJTBTSGqaaZr5NOk5r3Pg

 

 

https://www.googleapis.com/youtube/v3/channels?part=statistics&id=채널ID&fields=items/statistics&key=발급받은API키

 

fields=items/statistics 는 제외하셔도 상관은 없습니다. 그냥 결과창에 어떤 값만 보여줘라 지정해주는 겁니다.

 

subscriberCount : 구독자수

videoCount : 영상 갯수

영상 갯수 경우엔 정지당했거나 비공개는 제외되고

타 사용자가 해당 채널에서 볼수있는 갯수로만 산출되는듯 합니다.

 

  $sub_url = "https://www.googleapis.com/youtube/v3/channels?part=statistics&id=".$channelId."&fields=items/statistics&key=".$youtube_api_key; // 구독자 수
  $sub_json = file_get_contents($sub_url);
  $sub_ob = json_decode($sub_json);
	
  foreach ( $sub_ob->items as $data ){   		
    $subscriberCount = $data->statistics->subscriberCount;	   //구독자수
    $videoCount = $data->statistics->videoCount;	   //영상 갯수	    
  }

마지막으로 1,2편 종합 전체 소스 첨부합니다.

하단 소스에 조회수, 좋아요 수까지 받아오는것까지 있으니

1,2편 이해하신분들은 별도 설명없어도 다 이해하실거에요 ~!

 

 $youtube_api_key = "발급받은 API 키";
	$url = "유튜브 영상 URL";

	parse_str( parse_url( $url, PHP_URL_QUERY ), $u_id );

	$snippet_url = "https://www.googleapis.com/youtube/v3/videos?id=".$u_id['v']."&fields=items&key=".$youtube_api_key."&part=snippet"; //채널 ID 알아낼수있음 -> 구독자수
	$statistics_url = "https://www.googleapis.com/youtube/v3/videos?id=".$u_id['v']."&key=".$youtube_api_key."&part=statistics"; // 영상 좋아요 , 댓글 수 , 조회 수		
	
	$snippet_json = file_get_contents($snippet_url);
	$snippet_ob = json_decode($snippet_json);
	
   	foreach ( $snippet_ob->items as $data ){
	    $channelId = $data->snippet->channelId;	   // 채널 ID 
    }

    $sub_url = "https://www.googleapis.com/youtube/v3/channels?part=statistics&id=".$channelId."&fields=items/statistics&key=".$youtube_api_key; // 구독자 수
    $sub_json = file_get_contents($sub_url);
	$sub_ob = json_decode($sub_json);
	
   	foreach ( $sub_ob->items as $data ){   		
	    $subscriberCount = $data->statistics->subscriberCount;	   //구독자수
	    $videoCount = $data->statistics->videoCount;	   //영상 갯수
	    
    }

    //영상 좋아요 댓글, 조회 수
    $statistics_json = file_get_contents($statistics_url);
	$statistics_ob = json_decode($statistics_json);
	
   	foreach ( $statistics_ob->items as $data ){   		
	    $viewCount = $data->statistics->viewCount;	   //조회수	    
	    $likeCount = $data->statistics->likeCount;	   //좋아요 수	    
	    $commentCount = $data->statistics->commentCount;	   //댓글수	    
    }

 

728x90
300x250