Programming/PHP

[PHP] YouTube Data API v3를 이용한 채널 최신 영상 불러오기

DOTI 2022. 11. 1. 15:52
[PHP] YouTube Data API v3를 이용한 채널 최신 영상 불러오기
반응형

 

YouTube Data API v3 API를 이용하여 채널의 최신 영상 목록을 불러올 수 있다.

 

 

API 적용 전 YouTube Data API v3 API 키 를 발급 받아야 한다.

2022.11.01 - [Web Programming/API] - [API] YouTube Data API v3 API키 발급받기

 

[API] YouTube Data API v3 API키 발급받기

유튜브 채널 정보를 받기 위한 YouTube Data API v3 API키 발급받기 1. https://console.cloud.google.com/ 페이지에 접속한다. 2. 서비스 약관에 동의하고 [동의 및 계속하기] 를 선택한다. 3. 왼쪽 메뉴중 API 및 서

dotiweb.tistory.com

 

 

YouTube Data API | Search List 안내 페이지

https://developers.google.com/youtube/v3/docs/search/list?hl=ko 

 

Search: list  |  YouTube Data API  |  Google Developers

Search: list 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. API 요청에 지정된 쿼리 매개변수와 일치하는 검색결과의 모음을 반환합니다. 기본적으로 검색결과

developers.google.com

 

 

1. 간단한 소스를 통해 이용해보자.

<?php
# API URL
$url = 'https://www.googleapis.com/youtube/v3/search';

$params = array(
    "key"=>"발급받은 API 키",   // 유튜브 API KEY
    "part"=>"snippet",
    "channelId"=>"채널 ID",            // 유튜브 채널 ID
    "maxResults"=>2,
    "order"=>"date",
    "q"=>""
);

$paramsUrl = '';
foreach ($params as $k=>$v) $paramsUrl .= (!$paramsUrl?'?':'&').$k.'='.$v;
$resultJsonData = @file_get_contents($url.$paramsUrl);

echo $resultJsonData;
?>

 

출력화면

 

 

 

 

2. 불러온 JSON 형식의 데이터 중 필요한 ITEM 부분을 배열(array) 형태로 담아 이용이 가능하다.

<?php
if ($resultJsonData) {
    $resultArrayData = @json_decode($resultJsonData, true);
    $itemArray = array();
    if (count($resultArrayData['items'])>0) {
        foreach ($resultArrayData['items'] as $item) {
            array_push($itemArray, array(
                'videoId'=>$item['id']['videoId'],
                'title'=>$item['snippet']['title'],
                'description'=>$item['snippet']['description'],
                'thumbnail'=>$item['snippet']['thumbnails']['high']['url'],
                'publish'=>$item['snippet']['publishedAt'],
            ));
        }
    }
}

print_r($itemArray);
?>

 

출력화면

 

ITEM 내 키별 정보

videoid 영상 ID
title 영상 타이틀
description 영상 설명글
thumbnail 영상 대료 이미지
publish 영상 노출일

 

 

 

 

 

 

 

 

 

반응형