1

「SoundCloud Connect 画面を使用しない認証」に従って、登録済みのアプリをテストするために Python で認証しようとしています: http://developers.soundcloud.com/docs/api/guide#user-credentials

import soundcloud

# create client object with app and user credentials
client = soundcloud.Client(client_id='YOUR_CLIENT_ID',
                           client_secret='YOUR_CLIENT_SECRET',
                           username='YOUR_USERNAME',
                           password='YOUR_PASSWORD')

行はpassword='YOUR_PASSWORD'エラーをスローします:

File "/usr/local/lib/python2.7/dist-packages/soundcloud/client.py", line 41, in __init__
    self._credentials_flow()
File "/usr/local/lib/python2.7/dist-packages/soundcloud/client.py", line 112, in _credentials_flow
    make_request('post', url, options))
File "/usr/local/lib/python2.7/dist-packages/soundcloud/resource.py", line 62, in wrapped_resource
    setattr(result, attr, getattr(response, attr))
AttributeError: 'Response' object has no attribute 'error'

でラップするとtry:、次のようになります。

Error: 401 Client Error: None, Status Code: 401

client_id と client_secret を 3 回確認し、Web サイトで同じ資格情報を使用してログインでき、コードで「username」と「username@email.com」の両方の形式を試しました。何か案は?

[編集:] レコードについては、'username' と 'username@email.com' の両方の形式が機能します。

4

1 に答える 1

3

requestsライブラリをバージョン0.14.2にダウングレードする必要があります。

soundcloudAPI pythonライブラリはオブジェクトをラップし、バージョンrequests.models.Response1.0.0用にリファクタリングが行われたため、.error属性が削除されました。soundcloudしかし、それでもそこにあることを期待しています。

virtualenvを使用してライブラリをインストールすることをお勧めします。requestsそのvirtualenvからライブラリを手動で削除するか、それpipをダウングレードするために使用できます。

pip install -I requests==0.14.2

この問題をsoundcloud-pythonコードプロジェクトに報告して、setup.py依存関係を修正するか、ライブラリをrequests1.0.0以降で動作するように修正することをお勧めします。

于 2012-12-18T17:50:41.850 に答える