안녕하세요

프로젝트(5) - 기능 설계 본문

유튜브컨텐츠탐색-StelLife/Youtube API

프로젝트(5) - 기능 설계

sakuraop 2023. 2. 8. 16:59

기능 설계

[ ] 최신순으로 50개 검색 (searchNewVideo)

(일일 업데이트 되는 동영상 수에 따라 "nextPageToken" 이용하여 다음 페이지 탐색)

ex) "nextPageToken"[string]: "CDIQAA"

[ ] "/search" 중복되지 않은 channelId를 channel db에 저장 (addNewChannelBySearchApi)

새롭게 등록된 channel은 등록된 시간 속성(saveTime)을 추가해 New Channel 표시 3일간 유지

1) channel db에서 channel id 배열 가져오기

2) channel id 배열과 비교하여 중복되지 않은 channel id를 channel db에 추가

snippet

  • "snippet.channelId"[string]: 채널 고유 id
  • "snippet.channelTitle"[string]: 채널명

else

  • "except"[boolean]: default: true / 예외등록할 채널은 false
  • "saveTime"[string]: db에 채널을 저장한 일자를 같이 저장

[ ] "/channels" channel id를 조회한 채널 정보 업데이트 (updateChannelDataByChannelsApi)

channel db에 등록되어 있는 channel id의 정보를 모두 업데이트

1) channel id로 채널 정보 조회

2) 채널 정보 업데이트

snippet

  • "snippet.description"[string]: 채널 설명
  • "snippet.thumbnails.[default, medium, high].url"[string]: 채널 썸네일 주소

contentDetails

  • "contentDetails.relatedPlaylists.uploads"[string]: 재생목록 고유 id

status

  • "statistics.viewCount"[integer]: 채널 조회수
  • "statistics.subscriberCount"[integer]: 구독자 수
  • "statistics.videoCount"[integer]: 업로드된 동영상 수

[ ] "/search" 중복되지 않은 videoId를 video db에 저장 (saveDailyVideoBySearchApi)

동영상 발행 일자를 id로(20230206), 일자별로 업로드된 video를 [배열]에 저장하여 매일마다 검색되는 동영상을 기록

1) 동영상을 발행 일자로 구분하여 video db에서 video id 배열 가져오기

2) video id 배열과 비교하여 search 결과와 중복되지 않은 video id를 video db에 추가

base

  • "videoId"[string]: video 고유 id

snippet

  • "snippet.channelId"[string]: 채널 고유 id
  • "snippet.channelTitle"[string]: 채널명
  • "snippet.publishedAt"[ISOdate]: video 발행 일시
  • "snippet.title"[string]: video 제목
  • "snippet.description"[string]: video 내용
  • "snippet.thumbnails.[default, medium, high].url"[string]: video 썸네일 주소 

[ ] "/playlistItems" 재생 목록으로 조회한 video 정보를 playlist db에 업데이트 하기 (updatePlaylistVideoByPlaylistItemsApi)

playlist의 데이터를 업데이트하여 channel db에 등록되어 있는 채널을 격자 형태로 나열해 보거나 검색할 수 있도록 함

1) playlist db에 저장된 playlist id를 [배열]에 저장

2) channel id를 이용해 playlist db에 등록된 video 데이터를 찾아 해당 채널의 video를 모아보기 

snippet

  • "snippet.publishedAt"[ISOdate]: video 발행 일시
  • "snippet.title"[string]: video 제목
  • "snippet.description"[string]: video 설명
  • "snippet.thumbnails.[default, medium, high].url"[string]: video 썸네일 주소 
  • "snippet.channelTitle"[string]: 채널명 ([0] 인덱스에만 실행)
  • "snippet.resourceId.videoId"[string]: video 고유 id 
  • "snippet.videoOwnerChannelId"[string]: channel 고유 id

'유튜브컨텐츠탐색-StelLife > Youtube API' 카테고리의 다른 글

nextPageToken 이용하기  (0) 2023.03.12