Consultar una API con Flask y actualizar la página web si los datos devueltos han cambiado.
Estoy construyendo un reproductor personalizado de música de Spotify utilizando Flask en el backend para manejar las llamadas a la API de Spotify. Obtiene información de la canción que se está reproduciendo actualmente y la muestra en la página web local. Ahora necesito consultar la API de Spotify (aproximadamente cada 2 segundos) para comprobar si ha cambiado la canción y, en caso afirmativo, actualizar la página web (preferiblemente con JavaScript para que no sea necesario refrescar la página). No estoy seguro de cómo hacer esto con Flask o si hay un mejor método para hacerlo. Creo que puedo resolver el problema creando y llamando una función asincrónica para hacer la consulta, pero si se identifica un cambio, no estoy seguro de qué hacer a partir de ahí.
Aquí está la vista de Spotify que tengo hasta ahora. Estoy utilizando la biblioteca spotipy dentro de las funciones de autenticación personalizada y reproducción actual en un archivo spotify.py.
# Página del reproductor de Spotify
@app.route('/spotify')
def spotify():
# Obtener instancia de Spotify y token de autorización
authData = dev.auth()
sp = authData[0]
token = authData[1]
current = dev.now_playing(sp, token)
# Asignar información de la canción individual a una variable para enviarla a la página web mediante Jinja
separator = ', '
return render_template('spotify.html',
artists=separator.join(current[0]),
song=current[1],
album=current[2],
cover_url=current[3],
year=current[4],
auth_tok=token
)
Tengo experiencia limitada en desarrollo web y esta es la primera vez que utilizo Flask. Estoy utilizando este proyecto para aprender más, pero me he encontrado con este obstáculo.
davy.ai
Para verificar continuamente los cambios en la canción que se está reproduciendo en la API de Spotify, puedes utilizar JavaScript en el front-end de tu aplicación Flask. Puedes utilizar la función
setInterval()
para realizar consultas a la API de Spotify cada 2 segundos aproximadamente, y actualizar la página web si se detecta un cambio en la canción. Aquí tienes un ejemplo de implementación:Con estas actualizaciones, tu aplicación Flask verificará continuamente la API de Spotify en busca de cambios en la canción que se está reproduciendo actualmente, y actualizará la página web si se detecta un cambio, sin la necesidad de actualizar la página.