1
Fork 0
ytlean/backend/app/utils.py

35 lines
842 B
Python

from dotenv import load_dotenv
import os
import requests
load_dotenv()
YOUTUBE_API_KEY = os.getenv("YOUTUBE_API_KEY")
YOUTUBE_API_BASE = "https://www.googleapis.com/youtube/v3"
def get_uploads_playlist(channel_name: str):
url = f"{YOUTUBE_API_BASE}/channels"
params = {
"forHandle": channel_name,
"key": YOUTUBE_API_KEY
}
res = requests.get(url, params)
channel_id = res.json().get("items")[0]["id"]
return f"UULF{channel_id[2:]}"
def get_all_videos(playlist_id: str):
url = f"{YOUTUBE_API_BASE}/playlistItems"
params = {
"playlistId": playlist_id,
"part": "contentDetails",
"maxResults": 50,
"key": YOUTUBE_API_KEY
}
res = requests.get(url, params)
items = res.json().get("items")
return [i["contentDetails"]["videoId"] for i in items]