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키
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