Einen pyLast 5.5-Sitzungsschlüssel über einen Proxy beziehen
Konfigurieren Sie die Route des network-Objekts, bevor pyLast die Token- und Sitzungsschlüssel-Anfragen stellt.
pyLast kann bereits beim Erzeugen eines network-Objekts Authentifizierungsanfragen auslösen, wenn genügend Anmeldedaten übergeben werden. Um zuerst die Route festzulegen, erzeugen Sie das network, ohne diesen Authentifizierungsablauf auszulösen.
Das folgende Beispiel nutzt die Proxy-URI-Schnittstelle von pyLast 5.5 und den öffentlichen Helfer für die Web-Authentifizierung:
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()
Die Anwendung übergibt ihren API key und das secret. Für eine öffentliche Last.fm-API-Route, die nicht authentifizierte Zwischenstellen zulässt, verwenden Sie in enable_proxy einen Endpunkt aus der HTTP-Proxy-Liste; diese Endpunkte liefern keine Zugangsdaten des Anbieters. Der letzte Aufruf holt das Authentifizierungs-Token über das konfigurierte network. Bitten Sie die Nutzerin oder den Nutzer, die resultierende URL zu öffnen und die Anwendung zu autorisieren.
Nach der Autorisierung holen Sie mit demselben generator den Sitzungsschlüssel:
network.session_key = generator.get_web_auth_session_key(authorization_url)
Der generator behält das mit dieser URL verknüpfte Token. Wenn Sie dasselbe network und denselben generator über diese beiden Schritte hinweg beibehalten, bleiben die konfigurierte Route und der ausstehende Authentifizierungszustand erhalten.
Wenn bereits ein Schlüssel existiert
Ist bereits ein Sitzungsschlüssel gespeichert, übergeben Sie ihn beim Erzeugen des network als session_key und aktivieren Sie den Proxy vor dem ersten API-Aufruf. Der Konstruktor muss keinen weiteren Schlüssel anfordern. Auch reine Lesezugriffe können das konfigurierte network nutzen, ohne diesen Autorisierungsablauf zu starten.