Artículos

Todos los Artículos

No more posts

EDMECON

EDMECON será tu socio estratégico para mejorar la cultura de prevención de la salud mental, capacitaciones, talleres y artículos escritos por médicos especialistas, en nivel básico de entendimiento para las empresas y el público en
general

Ubícanos en:

Calle los Antares 308 Torre-A, Surco,
Lima, Perú.

Artículos Recientes

Copyright © 2019 EDMECON - Todos los derechos reservados.

// --- CÓDIGO JS MODIFICADO PARA USAR PLAYLISTS --- document.addEventListener('DOMContentLoaded', function( ) { // --- CONFIGURACIÓN OBLIGATORIA --- // En la página de cada doctor, debes pegar el ID de SU playlist. const YOUTUBE_API_KEY = 'AIzaSyClwdDiBYK2v7M7vyvA31XdOsTAFpaGKoY'; // <-- TU API KEY (la misma de antes) const YOUTUBE_PLAYLIST_ID = 'PLKsQoAvfQXTs92C6ARqkB_AeRKGEElUh7'; // <-- PEGA AQUÍ EL ID DE LA PLAYLIST // --- Variables del DOM --- const mainPlayerContainer = document.getElementById('edm-main-player-container'); const videoListContainer = document.getElementById('edm-video-list'); const MAX_RESULTS = 10; // 1. Función para obtener los videos de UNA playlist específica async function fetchPlaylistVideos() { const playlistUrl = `https://www.googleapis.com/youtube/v3/playlistItems?part=snippet&playlistId=${YOUTUBE_PLAYLIST_ID}&maxResults=${MAX_RESULTS}&key=${YOUTUBE_API_KEY}`; try { const playlistResponse = await fetch(playlistUrl ); if (!playlistResponse.ok) { throw new Error(`Error al cargar la lista de videos: ${playlistResponse.statusText}`); } const playlistData = await playlistResponse.json(); if (playlistData.items && playlistData.items.length > 0) { // La API de playlistItems tiene una estructura un poco diferente const videos = playlistData.items.map(item => item.snippet); displayVideos(videos); } else { videoListContainer.innerHTML = '

No hay videos en esta lista o la lista es privada.

'; } } catch (error) { console.error('Error al conectar con la API de YouTube:', error); videoListContainer.innerHTML = '

Error al cargar los videos. Revisa la API Key, el ID de la Playlist o la consola.

'; } } // 2. Función para mostrar los videos (NECESITA UN PEQUEÑO AJUSTE) function displayVideos(videos) { videoListContainer.innerHTML = ''; if (videos.length > 0) { // El videoId ahora está en 'resourceId.videoId' loadVideoInPlayer(videos[0].resourceId.videoId); } videos.forEach((video, index) => { const videoId = video.resourceId.videoId; const title = video.title; const thumbnailUrl = (video.thumbnails.medium) ? video.thumbnails.medium.url : video.thumbnails.default.url; const videoItem = document.createElement('div'); videoItem.className = 'edm-video-item'; videoItem.innerHTML = ` ${title}

${title}

`; if (index === 0) { videoItem.classList.add('active'); } videoItem.addEventListener('click', () => { loadVideoInPlayer(videoId); document.querySelector('.edm-video-item.active')?.classList.remove('active'); videoItem.classList.add('active'); }); videoListContainer.appendChild(videoItem); }); } // 3. Función para cargar el reproductor (sin cambios) function loadVideoInPlayer(videoId) { const iframe = `
`; mainPlayerContainer.innerHTML = iframe; } // --- Ejecución inicial --- if (YOUTUBE_API_KEY === 'TU_YOUTUBE_API_KEY' || YOUTUBE_PLAYLIST_ID === 'EL_ID_DE_LA_PLAYLIST_DEL_DOCTOR' ) { videoListContainer.innerHTML = '

Por favor, configura tu API Key y el ID de la Playlist en el script.

'; } else { fetchPlaylistVideos(); } });