docs: YouTube 봇 API 최적화 관련 문서 업데이트
- architecture.md: YouTube 서비스 파일 구조 추가 - development.md: 동기화 흐름, API 할당량, 주요 함수 목록 추가 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
9bb6aedca7
commit
9335720fa8
2 changed files with 28 additions and 1 deletions
|
|
@ -37,6 +37,8 @@ fromis_9/
|
|||
│ │ │ └── index.js # 라우트 등록
|
||||
│ │ ├── services/ # 비즈니스 로직
|
||||
│ │ │ ├── youtube/ # YouTube 봇
|
||||
│ │ │ │ ├── api.js # YouTube Data API 호출
|
||||
│ │ │ │ └── index.js # 봇 로직 (동기화, 저장)
|
||||
│ │ │ ├── x/ # X(Twitter) 봇
|
||||
│ │ │ ├── meilisearch/ # 검색 서비스
|
||||
│ │ │ └── suggestions/ # 추천 검색어
|
||||
|
|
@ -317,7 +319,7 @@ fromis_9/
|
|||
- `concert_setlist_members` - 셋리스트-멤버 연결
|
||||
|
||||
#### 봇
|
||||
- `bot_youtube` - YouTube 봇 설정 (채널 정보, 동기화 간격, 필터 등)
|
||||
- `bot_youtube` - YouTube 봇 설정 (채널 정보, 동기화 간격, 필터 등, video_id UNIQUE)
|
||||
- `bot_x` - X 봇 설정 (username, 프로필, 동기화 간격, 텍스트 필터, 리트윗 포함, YouTube 추출)
|
||||
|
||||
#### 이미지
|
||||
|
|
|
|||
|
|
@ -258,6 +258,31 @@ queryClient.invalidateQueries();
|
|||
|
||||
---
|
||||
|
||||
## YouTube 봇 동기화
|
||||
|
||||
### 동기화 흐름 (syncNewVideos)
|
||||
1. `fetchRecentVideoIds()` — Activities API로 최근 영상 ID 목록만 조회 (1 unit)
|
||||
2. DB에서 이미 존재하는 video_id 필터링
|
||||
3. 새 영상만 `fetchVideoInfo()` — Videos API로 상세 정보 조회 (새 영상당 1 unit)
|
||||
4. `saveVideo()` — DB 저장 + Meilisearch 동기화
|
||||
|
||||
### API 할당량
|
||||
- 일일 할당량: 10,000 units
|
||||
- 새 영상 없을 때: activities.list 1 unit만 소비
|
||||
- 새 영상 있을 때: 1 + 새 영상 수 units
|
||||
- 1분 간격, 3채널 기준: ~4,320 units/일 (43%)
|
||||
|
||||
### 주요 API 함수 (services/youtube/api.js)
|
||||
| 함수 | YouTube API | 용도 |
|
||||
|------|-----------|------|
|
||||
| `fetchRecentVideoIds()` | activities.list (1 unit) | 최근 영상 ID 목록 조회 |
|
||||
| `fetchVideoInfo()` | videos.list (1 unit) | 단일 영상 상세 정보 |
|
||||
| `fetchAllVideos()` | playlistItems.list + videos.list | 전체 영상 초기 동기화 |
|
||||
| `getChannelByHandle()` | channels.list (1 unit) | 핸들로 채널 조회 |
|
||||
| `getChannelInfo()` | channels.list (1 unit) | 채널 정보 (배너 등) |
|
||||
|
||||
---
|
||||
|
||||
## 유용한 명령어
|
||||
|
||||
```bash
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue