웹개발팁

[Youtube] Youtube API 활용하기 1 - searching , parsing

http://portfolio.wonpaper.net 2020. 12. 10. 19:23

이번에는 내가 원하는 유투브 채널의 최신영상을 긁어오는 방법을 알아보자. 

[ Youtube API ]

developers.google.com/youtube/documentation

 

YouTube Developer Documentation  |  Google Developers

YouTube has a number of APIs and tools that let you embed YouTube functionality into your own website and applications. Discover what you can do with YouTube APIs YouTube Players IFrame Player API Reference Use an embedded player to play videos directly in

developers.google.com

developers.google.com/youtube/v3/getting-started

 

시작하기  |  YouTube Data API  |  Google Developers

소개 이 문서는 YouTube와 상호작용할 수 있는 애플리케이션을 개발하려는 개발자를 위해 작성되었습니다. 여기에서는 YouTube 및 API의 기본 개념에 대해 설명합니다. 또한 API가 지원하는 다양한 기

developers.google.com

 

개괄적으로 구글계정으로 로그인부터 하도록하자.

Youtube API 를 이용하기 위해서는 일단 Key 값부터 받아야 한다.

 

구글 클라우드 콘솔페이지로 가서 Youtbube Api 접근용 key를 생성한다.

 

console.cloud.google.com

 

Google Cloud Platform

하나의 계정으로 모든 Google 서비스를 Google Cloud Platform을 사용하려면 로그인하세요.

accounts.google.com

새 프로젝트를 클릭하여 생성한다.

 

API키를 후딱 하나 만든다.
제한사항은 없음으로 하여 편하게 연결이 가능하도록 하였다.

 

 

제한없이 접근가능하도록 하였지만 나름대로 정해진 할당량이 있다. 확인해 놓도록 하자.

 

이제 Youtube API 키를 생성했으니, 본격적으로 API Document 를 살펴보며 코딩해보도록 하자.

 

예를 들어 KBS 1라디오 채널의 최신 영상을 땡겨오는 소스 작업을 해본다.

위의 웹주소를 보면 채널ID 값을 꼭 기억해두도록 하자.

 

Youtube API Document 를 살펴보면 각 언어별로 상세한 샘플 코드도 제공하고 있다.

developers.google.com/youtube/v3/docs

 

API Reference  |  YouTube Data API  |  Google Developers

YouTube Data API를 사용하면 YouTube 웹사이트에서 일반적으로 실행하는 기능을 사용자의 웹사이트 또는 애플리케이션에 통합할 수 있습니다. 아래 목록에서는 API를 사용하여 검색할 수 있는 다양한

developers.google.com

 

위의 API 항목중에서 Search list 항목을 살펴보면 된다. (임의 검색)

 

몇가지 속성값을 넣어서 직접 json 형태의 결과물을 바로 확인해 볼수도 있다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?
session_start();
$apiKey="유투브 api 키값";
 
// order = date 날짜순
// maxResults = 20 불러올 결과물개수, 없으면 5
 
$url = "https://www.googleapis.com/youtube/v3/search?key=".$apiKey."&part=snippet&channelId=UCMLJc_D3jgFcS_48G7i4V0A&order=date&maxResults=20";
 
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$content = curl_exec($ch);
curl_close($ch);
$result = json_decode($content);
 
print_r($content);
//var_dump($result);
 
echo "<br><br>";
echo "제목 : ".$result->items[0]->snippet->title;
echo "설명 : ".$result->items[0]->snippet->description;
echo "올린 사람 : ".$result->items[0]->snippet->channelTitle;
echo "동영상 길이 : ".$result->items[0]->contentDetails->duration;
echo "조회수 : ".number_format($result->items[0]->statistics->viewCount);
 
?>
cs

[ 결과화면 ]

json 형태로 나오는데 보기가 쉽지 않다.

 

[ 온라인 실시간 Json 뷰어 ]

jsonviewer.stack.hu

 

Online JSON Viewer

 

jsonviewer.stack.hu

위 사이트로 그내용을 찍어서 확인해 보도록 하자.

이제 좀 눈에 들어온다.

items 항목을 눈여겨 보고 Parsing 처리하면 되겠다. ~

 

youtubeAPI.php
0.00MB