First commit
This commit is contained in:
45
haos/execute_random_video.py
Normal file
45
haos/execute_random_video.py
Normal file
@@ -0,0 +1,45 @@
|
||||
import requests
|
||||
|
||||
API_KEY = "SECRET" #Reemplazar por la del .env ( no puedo leer realmente un archivo en haos con estos scripts :/ )
|
||||
PLAYLIST_ID = "PLSRBwQZwqGmKf9dHlAuhKSyNy0cH-3RyT"
|
||||
|
||||
def get_videos():
|
||||
"""Obtiene todos los IDs de video de una playlist de YouTube."""
|
||||
video_ids = []
|
||||
next_page_token = None
|
||||
|
||||
while True:
|
||||
params = {
|
||||
"part": "contentDetails",
|
||||
"maxResults": 50,
|
||||
"playlistId": PLAYLIST_ID,
|
||||
"key": API_KEY,
|
||||
}
|
||||
|
||||
if next_page_token:
|
||||
params["pageToken"] = next_page_token
|
||||
|
||||
response = requests.get(
|
||||
"https://youtube.googleapis.com/youtube/v3/playlistItems",
|
||||
params=params,
|
||||
headers={"accept": "application/json"},
|
||||
).json()
|
||||
|
||||
# Manejo de errores
|
||||
if "error" in response:
|
||||
print(f"Error en la API: {response['error']['message']}")
|
||||
return []
|
||||
|
||||
# Extraer IDs de video
|
||||
for item in response.get("items", []):
|
||||
video_ids.append(item["contentDetails"]["videoId"])
|
||||
|
||||
# Verificar si hay más páginas
|
||||
next_page_token = response.get("nextPageToken")
|
||||
if not next_page_token:
|
||||
break
|
||||
|
||||
return [f"https://www.youtube.com/watch?v={video_id}" for video_id in video_ids]
|
||||
|
||||
|
||||
print(get_videos())
|
||||
Reference in New Issue
Block a user