Получение ключа сеанса pyLast 5.5 через прокси
Настройте маршрут объекта network до того, как pyLast отправит запросы токена и ключа сеанса.
pyLast может отправлять запросы аутентификации уже при создании объекта network, если передано достаточно данных для входа. Чтобы сначала настроить маршрут, создайте network, не запуская этот поток аутентификации.
В следующем примере используется интерфейс proxy-URI pyLast 5.5 и публичный помощник веб-аутентификации:
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()
Приложение передаёт свой API key и secret. Для публичного маршрута Last.fm API, допускающего посредников без аутентификации, используйте в enable_proxy конечную точку из списка HTTP-прокси; эти точки не передают учётные данные провайдера. Последний вызов получает токен аутентификации через настроенный объект network. Попросите пользователя открыть полученный URL и авторизовать приложение.
После авторизации получите ключ сеанса тем же generator:
network.session_key = generator.get_web_auth_session_key(authorization_url)
generator сохраняет токен, связанный с этим URL. Если сохранить один и тот же network и generator на обоих шагах, настроенный маршрут и ожидающее состояние аутентификации сохранятся.
Когда ключ уже существует
Если ключ сеанса уже сохранён, передайте его как session_key при создании network, а затем включите прокси перед первым вызовом API. Конструктору не нужно запрашивать другой ключ. Поиск только для чтения тоже может использовать настроенный network, не запуская этот поток авторизации.