尝试在Python中进行身份验证以测试注册的应用程序,如“在没有SoundCloud Connect屏幕的情况下进行身份验证”:
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,我可以在网站上使用相同的凭据登录,并且在代码中尝试了'username'和'[email protected]'格式。有什么想法吗?
[编辑:]对于记录,“username”和“[email protected]”格式都有效。

最佳答案

您必须将requests库降级到0.14.2版本。
API python库包装soundcloud对象,使用为1.0.0版创建的重构,删除了requests.models.Response属性。.error但是仍然希望它在那里。
我建议您使用virtualenv安装库。您可以从该virtualenv中手动删除soundcloud库,或使用requests降级它:

pip install -I requests==0.14.2

您可能希望向soundcloud-python code project报告此问题,以便他们可以修复其pip依赖项,或者修复库以使用setup.py1.0.0或更新版本。

关于python - Soundcloud API在服务器端Python身份验证上返回401错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13938275/

10-12 04:27