Obtener una clave de sesión de pyLast 5.5 a través de un proxy
Configure la ruta del objeto network antes de que pyLast haga las solicitudes de token y de clave de sesión.
pyLast puede realizar solicitudes de autenticación mientras construye un objeto network si se proporciona suficiente información de inicio de sesión. Para configurar la ruta primero, cree la network sin activar ese flujo de autenticación.
El siguiente ejemplo utiliza la interfaz proxy-URI de pyLast 5.5 y el asistente público de autenticación web:
import pylast
network = pylast.LastFMNetwork(api_key=api_key, api_secret=api_secret)
network.enable_proxy('http://proxy.example.net:8080')
generator = pylast.SessionKeyGenerator(network)
authorization_url = generator.get_web_auth_url()
La aplicación aporta su propia API key y su secret. Para una ruta pública de la API de Last.fm que admita intermediarios no autenticados, use en enable_proxy un extremo de la lista de proxies HTTP; esos extremos no aportan las credenciales del proveedor. La última llamada recupera el token de autenticación a través del objeto network configurado. Pida al usuario que abra la URL resultante y autorice la aplicación.
Tras la autorización, use el mismo generator para obtener la clave de sesión:
network.session_key = generator.get_web_auth_session_key(authorization_url)
El generator conserva el token asociado a esa URL. Mantener la misma network y el mismo generator entre estos dos pasos preserva la ruta configurada y el estado de autenticación pendiente.
Cuando ya existe una clave
Si ya hay una clave de sesión guardada, pásela como session_key al crear la network y después active el proxy antes de la primera llamada a la API. El constructor no necesita solicitar otra clave. Las consultas de solo lectura también pueden usar la network configurada sin iniciar este flujo de autorización.