Obtenir une clé de session pyLast 5.5 via un proxy
Configurez la route de l'objet network avant que pyLast n'émette les requêtes de jeton et de clé de session.
pyLast peut émettre des requêtes d'authentification dès la construction d'un objet network si assez d'informations de connexion sont fournies. Pour configurer d'abord la route, créez la network sans déclencher ce flux d'authentification.
L'exemple suivant utilise l'interface proxy-URI de pyLast 5.5 et l'assistant public d'authentification 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()
L'application fournit son API key et son secret. Pour une route publique de l'API Last.fm qui autorise des intermédiaires non authentifiés, utilisez dans enable_proxy un point de terminaison de la liste de proxys HTTP ; ces points de terminaison ne fournissent pas les identifiants du fournisseur. Le dernier appel récupère le jeton d'authentification via l'objet network configuré. Demandez à l'utilisateur d'ouvrir l'URL obtenue et d'autoriser l'application.
Après l'autorisation, utilisez le même generator pour obtenir la clé de session :
network.session_key = generator.get_web_auth_session_key(authorization_url)
Le generator conserve le jeton associé à cette URL. Conserver la même network et le même generator entre ces deux étapes préserve la route configurée et l'état d'authentification en attente.
Quand une clé existe déjà
Si une clé de session est déjà enregistrée, passez-la comme session_key lors de la création de la network, puis activez le proxy avant le premier appel à l'API. Le constructeur n'a pas besoin de demander une autre clé. Les recherches en lecture seule peuvent aussi utiliser la network configurée sans lancer ce flux d'autorisation.