プロキシ経由で pyLast 5.5 のセッションキーを取得する
pyLast がトークンとセッションキーの要求を送る前に、network オブジェクトの経路を設定します。
pyLast は、ログイン情報が十分に渡されていれば、network オブジェクトの構築中に認証要求を送ることがあります。先に経路を設定するには、その認証フローを開始せずに network を作成します。
次の例では、pyLast 5.5 の proxy-URI インターフェースと公開 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()
アプリケーションは自身の 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 に対応するトークンを保持します。この 2 つの手順の間で同じ network と generator を保つことで、設定した経路と保留中の認証状態が維持されます。
キーがすでにある場合
セッションキーがすでに保存されている場合は、network の作成時に session_key として渡し、最初の API 呼び出しの前にプロキシを有効にします。コンストラクタが別のキーを要求する必要はありません。読み取り専用の検索も、この承認フローを開始せずに設定済みの network を使えます。