namespace Application.Abstractions.YouTube; /// /// YouTube Data API v3 — 채널 정보, 구독/멤버십 확인 /// public interface IYouTubeApiService { // ── 공개 정보 (API Key 사용) ────────────────────────────────────── /// 채널 ID로 채널 정보 조회 Task GetChannelByIdAsync(string channelId, CancellationToken ct); /// 핸들(@username)로 채널 정보 조회 Task GetChannelByHandleAsync(string handle, CancellationToken ct); /// videoId로 라이브 스트림 정보 조회 (liveBroadcastContent, activeLiveChatId) Task GetLiveStreamInfoAsync(string videoId, CancellationToken ct); // ── 사용자별 (OAuth Access Token 필요) ──────────────────────────── /// 현재 사용자가 특정 채널을 구독 중인지 확인 Task IsSubscribedAsync(string accessToken, string channelId, CancellationToken ct); /// 현재 사용자의 특정 채널 멤버십 상태 확인 Task CheckMembershipAsync(string accessToken, string channelId, CancellationToken ct); }