-
유튜브(Youtube) API - 16. Analytics API 시작하기소프트웨어개발 이야기 2020. 9. 16. 18:00
지금까지 유튜브 API를 사용하기 위한 배경과 사용할 때의 유의점을 살펴봤다. 그리고 가장 기본이 되는 YouTube Data API를 사용해서 다양한 실습도 진행해 봤다.
혹, 유튜브 API를 검색해서 들어온 독자분들 중 기초내용을 알고 싶은 분들이라면 본글 하단에 있는 북마크 글들을 먼저 보고 나서 이 글을 읽는 것을 추천드린다.
늘 그랬듯 '시작하기' 글에서는 개요 수준에서 API를 살펴보고 구체적인 내용은 기능별 실습을 포함하여 추가로 작성할 예정이다.
자, 그럼 지금부터 유튜브의 다양한 분석 데이터를 제공하는 YouTube Analytics API를 살펴보자. (다시 긴 여정이 시작되고 있다 -0-;)

시작에 앞서, 유튜브 API의 구성을 다시 한번 살펴보자. 일전에 말한것처럼 API는 크게 세 가지로 구분된다.
1. YouTube Data API
2. YouTube Analytics API
3. YouTube Live Streaming API
앞선 15개의 글에서는 유튜브의 기본 기능을 다루는 Data API에서 다뤘고, 본글에서는 2번에 해당하는 Analytics API를 살펴보려 하고 있다. 사실, Analytics API라고 되어있지만, 개발자 사이트에 들어가 보면 Reporting API와 Analytics API로 구분되어있다. 두 API 모두 분석 데이터를 검색할 수 있고 채널 또는 콘텐츠 소유자 수준의 보고서에 엑세스 할 수도 있다.
언제 사용할까?
가장 대표적인 경우가 수익 데이터가 필요할때다. 채널 혹은 업로드한 특정 동영상의 수익을 조회하고 싶을 때, Data API로는 불가능하기 때문에 YouTube Analytics API를 사용해야 한다.
추가로, 오늘 하루동안 채널에서 조회수가 가장 높았던 동영상 10개를 조회해야 한다고 가정해 보자. 이를 Data API로 작성하기란 여간 번거로운 일이 아니다. 채널에 속한 모든 동영상의 어제자 조회수를 조회하고 다시 오늘 기준의 조회수를 조회해서 계산을 해야 한다. 프로그래밍은 차치하고 모든 동영상을 조회할 때 들어가는 할당량은 답이 없다;;;
YouTube Analytics API는 다양한 분석 데이터의 포맷을 일종의 템플릿처럼 만들어 놓고 제공한다. 이를 보고서(Report)라고 부른다. 가령 '사용자 활동보고서'는 일자별 채널 또는 콘텐츠 소유자의 총 조회수, 댓글수, 좋아요수 등을 볼 수 있는 보고서이며, '예상 수익 보고서'는 콘텐츠의 총 예상수익 등을 제공한다.
물론 보고서별로 조회하고자 하는 항목을 Data API와 동일하게 dimension과 metric, filter를 활용하여 선택할 수있다.
dimension은 사용자 활동을 날짜 또는 국가와 같은 기준으로 묶어서 측정한 값(일종의 group by 역할)
metric은 사용자 활동(조회수, 좋아요/싫어요 수 등), 광고 실적, 추정 매출액 같은 값을 개별로 측정한 값
Analytics API와 Reporting API의 차이점은? 그리고 각각 어떤 상황에서 사용하나?
서두에서 밝혔듯 YouTube Analytics API는 Reporting API와 Analytics API로 구분된다. 유튜브 개발자 가이드 사이트는 Bulk Reports(Reporting API)와 Targeted Queries(Analytics API)로 메뉴에 표시가 되어있는데 두 API의 특징을 가장 잘 표현한 단어인 듯하다.
다양한 보고서에서 실시간으로 원하는 값만 찾아서 보고 싶을 땐 Analytics API를, 대량의 데이터를 모아서 보고 싶을 때는 Reporting API를 사용한다.
구체적으로 아래와 같은 차이점이 있다.
- Reporting API
> 채널 또는 콘텐츠 소유자의 대용량의 분석 데이터를 검색해야 하는 경우 사용
> 대용량의 데이터를 조회해서 내부적으로 데이터 마이닝하려는 용도로 사용
> 데이터에는 기 정의된 필드 집합이 포함됨
> 보고서 데이터를 보기 위해서는 미리 생성을 예약(스케줄링)해야 함
> 생성된 데이터는 비동기적으로 다운로드해서 봐야 하고 데이터는 24시간 기준임
> 유튜브 내부에서 시스템 관리 보고서를 자동으로 생성함(유튜브 스튜디오에서 볼 수 있음)
> 자동으로 생성된 시스템 관리 보고서 역시 다운로드하여 볼 수 있으며, 여기에는 광고 수익 데이터가 포함되어 있음- Analytics API
> 실시간으로 분석 보고서를 생성하고 봐야 하는 경우 사용
> 필터링, 정렬 지원
> 검색하고자 하는 날짜 범위(주별, 월별 등)를 지정(때문에 조회 후 내부에서 날짜 범위 별로 계산할 필요가 없음)그밖에, API 간 혼동을 막기 위해 Analytics API는 Camel 방식을, Reporting API는 밑줄을 사용한다.(고 가이드에 나와있으나 필자가 사용하는 Node SDK에는 차이가 없더라;;;)
지금은 잘 와 닿지 않는 게 정상이다. (피.. 필자는 그랬다. 그놈이 그놈 같은... -0 -;) 실제 API를 작성해서 결과를 보면 아~ 이래서 다르구나 이해할 수 있을게다.
어떤 보고서를 API를 통해서 조회할 수 있는가?
- video 보고서
> 채널, 콘텐츠 소유자 데이터를 볼 수 있음(Analytics, Reporting)
> 채널이나 콘텐츠 소유자와 관련된 동영상에 대한 사용자 활동 통계 데이터(조회수, 좋아요/싫어요 수 등)
> Analytics API는 콘텐츠 소유자 관련 동영상 데이터의 예상 수익, 광고 실적 통계도 포함됨- playlist 보고서
> 채널, 콘텐츠 소유자 데이터를 볼 수 있음(Analytics, Reporting)
> playlist에 포함된 영상 조회수와 관련된 통계 데이터
> Reporting API에는 잠재고객 보유 데이터 제공함- 광고 실적 보고서
> 콘텐츠 소유자 데이터를 볼 수 있음(Analytics, Reporting)
> 동영상 재생 중에 실행된 광고에 대한 노출 기반 측정 항목 제공- 예상 수익 보고서
> 콘텐츠 소유자 데이터를 볼 수 있음(Reporting)
> 구글에서 판매 한 광고 소스 및 비 광고 소스의 총 예상 수익 제공
> 일부 광고 실적 통계도 포함됨
> 실제 수익은 시스템 관리 보고서에 있음- 자산 보고서
> 콘텐츠 소유자 데이터를 볼 수 있음(Reporting)
> 콘텐츠 소유자에 연결되어있는 동영상에 대한 사용자 활동 통계 데이터 제공
> 다른 유튜버가 올린 영상에 대한 저작권이 콘텐츠 소유자에게 있을 경우, 해당 영상 데이터 제공- 시스템 관리 보고서
> 콘텐츠 소유자 데이터를 볼 수 있음(Reporting)
> Youtube 스튜디오의 보고서 메뉴에서 제공하는 데이터 제공
> 자산 및 동영상으로 얻은 실제 수익 데이터 제공
> 소유권이 주장된 동영상과 일치하는 저작물 데이터 제공
지금까지 YouTube Analytics API에 대해서 개략적으로 알아봤다. 다음 글에서는 대량의 데이터를 조회할 수 있는 Reporting API를 실제로 동작시켜 보고 결과를 확인해 볼 예정이다.
유튜브(YouTube) API - 1.시작하기
바야흐로 구독의 시대다. 온라인 세상의 흐름은 SNS에서 동영상으로 넘어가고 있고 그 중심에는 유튜브가 있다. 방송과 관련된 서비스를 개발하고 운영하다 보니, 새삼 유튜브가 대단하다는 생
joypinkgom.tistory.com
유튜브(Youtube) API - 2.사전작업
앞서 유튜브 API - 시작하기 글에서 유튜브 API의 종류와 제공 기능에 대해서 간단히 살펴봤다. 본 글에서는 본격적으로 API를 사용하기에 앞서 이를 위한 사전 작업에 대해 살펴보도록 한다. 아
joypinkgom.tistory.com
유튜브(Youtube) API - 3.API 살펴보기
Youtube Data API 살펴보기 앞선 글에서, 유튜브 API가 어떻게 구성되어 있는지, API를 사용하기 위한 사전 작업은 어떤 게 필요한지 알아봤다. 이번 글에서는 유튜브 API - 시작하기 글에서 설명했던
joypinkgom.tistory.com
유튜브(Youtube) API - 4.사용하기
무작정 API 돌려보기 유튜브 API를 사용하기에 앞서 API 종류와 사전작업 그리고 제약조건들을 살펴봤다.(REST API 하나 사용하려고 이렇게 많은 걸 봐야 하다니... 그래도 제공해 주는 게 어딘가, 감
joypinkgom.tistory.com
유튜브(Youtube) API - 5.인증받고 사용하기
인증이 필요한 API 사용하기 앞서 유튜브 API를 어떤 방식으로 사용하고 어떤 형식의 데이터를 얻을 수 있는지 살펴봤다. API Key 방식으로 인증을 하고 구글이 제공하는 라이브러리를 통해 몇 줄
joypinkgom.tistory.com
유튜브(Youtube) API - 6. Data API (Channels)
유튜브 데이터 API 뜯어보기 - Channels 본글에서는 3.API 살펴보기 에서 간단하게 알아봤던 유튜브 Data API를 기능별로 하나씩 살펴보고 실제 API 호출을 통해 결과를 확인해 보도록 하겠다. 시작하
joypinkgom.tistory.com
유튜브(Youtube) API - 7.Data API (Playlists, PlayItems)
유튜브 데이터 API 뜯어보기 - Playlists, PlayItems 본글에서는 6.Data API(채널 편)에 이어서 유튜브 Data API의 재생목록(Playlist) 기능들을 시나리오 기반으로 사용해보고 결과를 확인해 보도록 하겠다
joypinkgom.tistory.com
유튜브(Youtube) API - 8.페이징
본글에서는 7.Data API(재생목록 편)에서 잠시 언급했던 페이징 처리에 대해 살펴 보자. API 살펴보기편에서도 언급했지만, 유튜브 API를 사용할 때는 쿼터(할당량)에 대한 고려가 반드시 필요하다.
joypinkgom.tistory.com
유튜브(Youtube) API - 9. Videos
유튜브 데이터 API 뜯어보기 - Videos 동영상 목록 조회 본글에서는 7.Data API(재생목록 편)에 이어서 유튜브 Data API의 동영상(Video) 기능을 시나리오 기반으로 사용해보고 결과를 확인해 보도록 하겠
joypinkgom.tistory.com
유튜브(Youtube) API - 10. Video Insert
유튜브 데이터 API 뜯어보기 - Videos 동영상 업로드 본글에서는 9. Videos(동영상 조회 편)에 이어서 Data API의 동영상(Video) 기능을 활용하여 동영상을 유튜브에 업로드하고 결과를 확인해 보도록 하
joypinkgom.tistory.com
유튜브(Youtube) API - 11. Search
유튜브 데이터 API 뜯어보기 - 검색 본글에서는 Data API의 검색(Search) 기능을 시나리오 기반으로 사용해보고 결과를 확인해 보도록 하겠다. 검색 API 답게 지원하는 기능도 한 가지밖에 없다. Search
joypinkgom.tistory.com
유튜브(Youtube) API - 12. 할당량 최적화
오늘은 할당량(Quota) 이야기를 해 볼까 한다. 유튜브(Youtube) API - 3.API 살펴보기 글에서 할당량과 최적화의 필요에 대해 간단히 다룬 바 있다. 할당량이란 API 남용을 막고 자원을 관리하기 위해
joypinkgom.tistory.com
유튜브(Youtube) API - 13. 할당량 증설
최근 Elastic Stack을 통한 데이터 수집 삼매경이라 유튜브 API를 사용할 일이 없다 보니, 오랜만에 유튜브 이야기를 꺼내본다. 일전에 유튜브 할당량(Quota) 최적화의 필요성에 대해 정리한 적이 있었
joypinkgom.tistory.com
유튜브(Youtube) API - 14. 'statistics' Error
유튜브에서 통계 데이터를 수집하는 모듈이 아침부터 말썽이다. 몇 달 동안 전혀 문제없었는데, 새벽부터 수집 실패 메일을 친절하게(?) 보내주며 출근시간 조바심 일깨워 준다. '유튜브 정책 또
joypinkgom.tistory.com
유튜브(Youtube) API - 15. 할당량 계산식 변경
2020년 7월 29일부로 할당량(Quota) 계산방법이 간단해졌다.(진작 좀 이렇게 해주지 그랬냐 -_ -;) 본 글에서는 변경된 할당량 계산방법에 대해 정리한다. 유튜브 API 관련 글을 쓰면서 가장 많이 작성
joypinkgom.tistory.com
'소프트웨어개발 이야기' 카테고리의 다른 글
유튜브 API - 18. Bulk Report 주의점 (0) 2020.09.23 유튜브(Youtube) API - 17. Analytics API(Bulk Report) (2) 2020.09.21 유튜브(Youtube) API - 15. 할당량 계산식 변경 (0) 2020.07.30 유튜브(Youtube) API - 14. 'statistics' Error (0) 2020.07.07 유튜브(Youtube) API - 13. 할당량 증설 (4) 2020.06.23