유튜브 제목 및 영상 정보 가져오는 api 연동 방법입니다.

유튜브 제목 및 영상 정보를 가져오는 api 연동방법 안내하겠습니다.

 

API 키부터 발급받으셔야 합니다.

API KEY없이는 사용이 불가능합니다.

먼저 구글 개발자 콘솔로 접속합니다.

http://console.developers.google.com/ 

 

아래 그림과 같이 API 및 서비스 사용설정을 클릭하신 다음에 새프로젝트를 누릅니다


 

프로젝트 이름을 자유롭게 기입하십시요

 

생성 이후 좌측 메뉴중 "라이브러리"를 클릭합니다.

 

 


 

아래와 같이 "Youtube Data API v3" 입력후 검색하시고 결과가 나오면 클릭후 "사용" 버튼을 클릭합니다 

 

그럼 이 API를 사용하려면 사용자 인증정보가 필요할 수 있습니다. 라고 표시됩니다.

 

"사용자 인증 정보 만들기" 버튼을 클릭하세요

"공개데이터" 선택하시고 생성하시면 됩니다.

 

여기서 젤 중요한건 생성 API를 누르신 다음에 애플리케이션 제한사항 설정

애플리케이션 제한사항은 API 키 사용을 특정 웹사이트, IP 주소, Android 애플리케이션 또는 iOS 애플리케이션으로 제한합니다. 키별로 애플리케이션 제한사항 1개를 설정할 수 있습니다.

없음/웹사이트/IP주소/Android 앱/ios 앱으로 라디오버튼이 나오는데 반드시 "없음"을 선택하시고 저장하셔야 합니다.

 

정상적으로 생성이 되었는지 확인하시려면

https://www.googleapis.com/youtube/v3/search?part=snippet&q=kpop+music&key=[본인 생성 API KEY]

확인하시면 됩니다.

 

구현하는 소스는 아래 소스코드를 확인하시기 바랍니다.

감사합니다.
 

$youtubeUrl	=	'https://www.youtube.com/watch?v=i8tzuC-omlQ'; //유튜브 주소를 넣으시면 됩니다.
if(strstr($youtubeUrl, '/shorts/')){
var_dump('Shorts는 가져올수 없습니다.'); //구글 shorts는 가져올수 없습니다.
}else{
preg_match('%(?:youtube(?:-nocookie)?.com/(?:[^/]+/.+/|(?:v|e(?:mbed)?)/|.*[?&]v=)|youtu.be/)([^"&?/ ]{11})%i', $youtubeUrl, $match); //유튜브 주소중 아이디만 추출하는 곳입니다.
$videoId = $match[1];
$apikey = '구글콘솔에서 생성한 api키를 입력합니다';

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://www.googleapis.com/youtube/v3/videos?id=' . $videoId . '&key=' . $apikey . '&part=snippet,contentDetails,statistics,status');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$result = curl_exec($ch);
curl_close($ch);
$content = json_decode($result, true);

if($content[pageInfo][totalResults] == 0){
var_dump('영상정보를 가져올수 없습니다.'); //잘못된 접근등으로 실패했을경우입니다.
}else{
var_dump($content[items][0] ); //정상적으로 필요한 값을 추출하였습니다.
}
}