pyLast kan al tijdens het bouwen van een network-object authenticatieverzoeken sturen als er genoeg inloggegevens zijn opgegeven. Om de route eerst in te stellen, maakt u de network aan zonder die authenticatiestroom te starten.

Het volgende voorbeeld gebruikt de proxy-URI-interface van pyLast 5.5 en de openbare webauthenticatiehulp:

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()

De toepassing geeft zijn eigen API key en secret mee. Gebruik voor een openbare Last.fm API-route die niet-geauthenticeerde tussenpartijen toestaat in enable_proxy een eindpunt uit de HTTP-proxylijst; die eindpunten geven de inloggegevens van de provider niet door. De laatste aanroep haalt het authenticatietoken op via het geconfigureerde network-object. Vraag de gebruiker de resulterende URL te openen en de toepassing te autoriseren.

Gebruik na de autorisatie dezelfde generator om de sessiesleutel op te halen:

network.session_key = generator.get_web_auth_session_key(authorization_url)

De generator bewaart het token dat bij die URL hoort. Als u dezelfde network en generator tijdens deze twee stappen aanhoudt, blijven de geconfigureerde route en de wachtende authenticatiestatus behouden.

Wanneer er al een sleutel bestaat

Als er al een sessiesleutel is opgeslagen, geef die dan als session_key mee bij het aanmaken van de network en schakel daarna de proxy in vóór de eerste API-aanroep. De constructor hoeft geen andere sleutel aan te vragen. Ook alleen-lezen opzoekingen kunnen de geconfigureerde network gebruiken zonder deze autorisatiestroom te starten.

Gerelateerde artikelen