좋아요! 버튼 클릭 → API 전송 → 구글시트 누적 기록까지 한 번에 이어지도록 확장 + 서버 둘 다 업데이트 버전으로 잡아드릴게요.
핵심은 ①확장자가 “요약 메타데이터”를 더 풍부하게 보내고, ②서버가 그 요약만 골라 구글시트에 Append 해주는 흐름입니다. (대본은 제외)
1) 확장자 업데이트 — 수집 필드 확대 + (선택) YouTube Data API 연동
추가 수집 필드
-
thumbnail_url,tags[],category -
like_count,comment_count(옵션: YouTube Data API 키 설정 시 정확값 수집 / 미설정 시 DOM fallback 또는 null) -
그 외 기존 필드 유지:
title, view_count, duration_seconds, channel_name, upload_date, language, is_auto_generated, url, video_id, source, extracted_at, extension_version
A) popup.html / popup.js — API 엔드포인트 + (선택) YouTube API 키 입력
popup.html에 입력란 1개 추가:
popup.js 저장/로드 추가:
B) background.js — (선택) YouTube Data API 조회 지원
C) captions_extractor.js — 확장 필드 수집(썸네일/태그/카테고리)
D) content_script.js — API 키 있으면 정확 통계 보강 / 없으면 폴백
참고: dislikeCount는 API에서도 제공되지 않습니다.(2021년 이후 비공개) →
dislike_count는 항상null로 두는 걸 권장합니다.
2) 서버(api_server.py) 업데이트 — 구글시트 누적 기록(대본 제외)
구글 시트에 요약 행만 Append 합니다.
환경 변수:
-
SHEETS_CREDENTIALS_JSON: 서비스 계정 JSON(내용 문자열) 또는 JSON 파일 경로 -
SHEET_ID: 대상 구글 시트 ID -
SHEET_NAME: 시트 탭 이름 (예:Logs)
시트 컬럼 예시(첫 행 헤더 추천)
중복 방지(선택): video_id 기준으로 “이미 있으면 Append 대신 업데이트”를 원하시면, Apps Script Web App 방식이 더 깔끔합니다(서버에서 단일 POST → 스크립트가 시트에서 upsert). 원하시면 그 버전도 만들어 드릴게요.
3) 동작 흐름 요약
-
수집버튼 클릭(드래그로 원하는 위치 고정 가능)
-
확장자가 메타데이터+자막 수집 → (선택) YouTube Data API로
like_count / comment_count보강 -
확장자가 API 서버에
POST /captions/process -
서버는 자막 파일 저장/후처리와 별개로 요약 필드만 골라 구글시트에 Append
-
대본(
captions)은 시트에 넣지 않음
-
-
크롬 화면에 성공/실패 토스트가 버튼 옆에 표시
원하시면:
-
Apps Script upsert(덮어쓰기) 버전
-
카테고리 ID → 카테고리명 매핑
-
엔드포인트 인증 토큰(Authorization 헤더)
-
구글시트에 주기적 리프레시(스케줄러)
까지 바로 추가해드릴게요. 어떤 방식으로 저장(append vs upsert) 원하시는지 말씀만 주세요!