반응형

보통 sns 게시물 가져오는 기능을 추가할때

인스타, 네이버블로그 정도를 많이들 가져온다

인스타야 워낙 종류도 많고 해서 적당히 처리되는데

이번에는 유튜브도 가져오고싶다고해서 귀찮았다

확실히 귀찮았음

유튜브api를 찾아보니

어우 너무복잡하더라

이것저것 메뉴얼보고 해봐도 잘안되고 인증받아야되고;

아무튼 이것저것하다보니

앱키와 채널아이디만으로 불러오는 코드가있었다

$api_key = ''; //my API key
$channel_id = ''; //my channel ID
$max_result = 6;

                            $url = 'https://www.googleapis.com/youtube/v3/search?order=date&part=snippet&channelId='.$channel_id.'&maxResults='.$max_result.'&key='.$api_key;
                            $video_list = json_decode(file_get_contents($url),TRUE);

                            //print_r($video_list);

                            foreach ($video_list['items'] as $item) {
                                if (isset($item['id']['videoId'])) {

                                    echo '<div class="swiper-slide"><a href="https://www.youtube.com/watch?v=' .$item['id']['videoId']. '" target="_blank"><img src="'. $item['snippet']['thumbnails']['default']['url'] .'" alt=""></a></div>';
                                } 
                            }

아니 들여쓰기가 왜 안되는겨
아무튼 이런식으로 하면 잘가져오더라
이렇게 간단한방식은 너무 좋지만
한번 패치나 보안업데이트때
오류발생한 경우가많아서 일단 임시방편으로 적용하자

728x90
반응형
반응형

작업중에 유튜브게시판을쓰고 

기타 유튜브 영상을 끌어오는 작업을할때

동영상링크를 그대로 가져와서 썸네일을 쓰면 무난하지만

영상이 많으면 속도문제가 생긴다

그래서 썸네일만 따로 빼야하는경우, 리스트페이지일경우

추출함수가있길래 써봤다

일단 기본적인 난이도는 쉬움!

함수는 가져와놓고 링크 넣어주면 끝난다

필요한건

유튜브 동영상 ID 와

썸네일 품질형식? 해상도? <- 이게 정해져있더라

일단 함수는

저기 동영상링크부분 youtu.be/ 이후에 나열되는 이상한 문자가 필요하다

그 문자가 바로 동영상 ID

썸네일 주소는 두가지

http://img.youtube.com/vi/동영상ID/이미지형식.jpg

http://i.ytimg.com/vi/동영상ID/이미지형식.jpg

이미지형식이 해상도와 품질쪽인데

- 고품질 (480 x 360) : hqdefault.jpg

- 중간품질 (320 x 180) : mqdefault.jpg

- 보통품질 (120 x 90) : default.jpg

동영상 배경이미지 (480 x 360) : 0.jpg

구간별은 1.jpg , 2.jpg 등으로 설정할수도있다

 

가장 중요한 함수는

그누보드기준 lib.service.php 에 붙여넣어서 사용했다


//유튜브썸네일
if ( ! function_exists('get_youtube_code')) {
    function get_youtube_code($url) { 

        if (empty($url) || !$url) { 
            return;
        } 

        preg_match('@https?://(?:www\.)?youtube\.com/(?:watch\?|\?)[^>]*v[/=]([a-zA-Z0-9-_]+)@', $url, $matches);
        $code = $matches[1];

        if (!$code) { 
            preg_match('@https?://(?:www\.)?youtu\.be/([a-zA-Z0-9-_]+)@', $url, $matches);
            $code = $matches[1];
        }

        return $code;

    } 
}

아래는 적용모습!

728x90
반응형
반응형

12일 오전 유튜브 동영상재생이 전세계적으로 오류가 발생해

수많은 사람들이 불편을 겪고 있다

오전 9 시부터 현재까지 영상이 재생되지않거나 느리게 접속되는 현상이 발생하고 있다고한다

구글 측에 따르면 유튜브 먹통 현상은 한국뿐만 아니라 전 세계적으로 발생하고 있다.

유튜브 공식 트위터에는 오전 9시 23분경

“이는 당신만의 문제가 아니다. 유튜브 팀이 문제를 인식하고 있으며

이를 고치기 위해 노력하고 있다. 후속 조치를 조만간 업데이트 하겠다”고 밝혔다.

아마 패치가 빠르게 되진않을것같다

업데이트할 내용중 일부가 버그가생겻거나 충돌이 발생하는듯

여담으로 유튜브의 월간 순 이용자는 4318만명으로 집계됬다고한다

어마어마한데

이 사용자들의 데이터가 빅데이터분석으로 이어져서

수많은 사업과 광고에 이용될것으로보이는데

앞으로 유튜브의 독주를 막지 못한다면 근 몇년안에 유튜브가 어떻게 정책을 바꿀지.... 

조금 무섭다

728x90
반응형
반응형

그누보드 게시판 유튜브 연결하기

동영상 업로드 게시판을 만드는데 유튜브링크를 올려서

링크의 동영상을 게시해달란 요청이있었다

작업내용은 크게 힘든편은 아니었는데

브라우저나 버전에 따라서 약간 귀찮은 부분이 있었다

그누보드 게시판을 기준으로 진행

1. -- 등록

그누보드 기본 링크 입력칸에 유튜브 주소를 입력한다.

www.youtube.com/watch?v=tz0xtif_ODM <-- 이런식으로 형식은 맞아야되는듯

2. 리스트 표출

제일 중점인 부분이다 .php와 javascript 둘다필요하다

$youtube = preg_replace('/^.((youtu.be/)|(v/)|(/u/\w/)|(embed/)|(watch?))??v?=?([^#&?]).*/', '$7', $video_op['wr_link1']);

php로 주소를 적당히 변환시켜준다 오류방지로

div id="player" style="width:100%; height:400px; " iframe width='100%' height='400px' src='https://youtube.com/embed/?rel=0&playsinline=1&autoplay=0' allow='accelerometer; gyroscope; picture-in-picture; encrypted-media' allowfullscreen style='position: absolute;'> /div

 

아이프레임이 틀어져버려서 앞뒤나 슬래쉬를 제거했다.... 쓰실때 div 잘 체크하시길

그후 아이프레임으로 출력

728x90
반응형

+ Recent posts