Youtube Data API

2021.01.04 Mon

Youtube Data API 사용하기

유튜브 채널을 운영 중인데 사이트에서도 동일하게 영상과 조회수 등을 노출시켜달라는 요청이 있었다.

그래서 Youtube Data api(v3)를 활용했다.


위 링크에서 API를 사용하겠다고 하면 사용자 인증 정보를 만들어야 하는데 API KEY로 발급을 받으면 된다.


간단하게 아래와 같이 예시코드를 만들었다.

function youtube_data($type="",$param = array()) {
	$url = "https://www.googleapis.com/youtube/v3/".$type;
	$url .= '?'.http_build_query($param, '', '&');
	$ch = curl_init();

	curl_setopt($ch, CURLOPT_HEADER, 0);
	curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
	curl_setopt($ch, CURLOPT_URL, $url);
	curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
	curl_setopt($ch, CURLOPT_VERBOSE, 0);
	curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
	$response = curl_exec($ch);

	curl_close($ch);
	$data = json_decode($response);
	$values = json_decode(json_encode($data), true);

	return $values['items'];
}

$api_key = 'Your api key';
$channel_id = 'Your channel id';

$data = array(
	'part' => 'snippet',
	'channelId' => $channel_id,
	'maxResults' => '20',
	'order' => 'date',
	'type' => 'video',
	'key' => $api_key
);
$return_data = youtube_data("search",$data);

foreach($return_data as $key => $values) {
	$data = array(
		'part' => 'snippet',
		'id' => $values['id']['videoId'],
		'key' => $api_key
	);
	$return_data1 = youtube_data("videos",$data);

	$data = array(
		'part' => 'statistics',
		'id' => $values['id']['videoId'],
		'key' => $api_key
	);
	$return_data2 = youtube_data("videos",$data);

	/*
	고유아이디: $values['id']['videoId']
	제목: $return_data1[0]['snippet']['title']
	생성일: $return_data1[0]['snippet']['publishedAt']
	썸네일: $return_data1[0]['snippet']['thumbnails']['medium']['url']
	조회수: $return_data2[0]['statistics']['viewCount']
	*/
}


데이터에 대한 자세한 내용은 여기를 참조하면 될 것 같다.