HTTPError: 401 Client Error



我正在使用Python soundcloud API在我的Web应用程序中实现经过身份验证的用户的soundcloud视频。我 http://developers.soundcloud.com/docs#authentication 按照此步骤操作,这是我第一次让一切正常。我只是从第一个开始再次尝试这些事情,现在我在这个命令上收到HTTPError:401客户端错误current_user = client.get('/me')

我可以展示我完成的步骤。请检查此 https://gist.github.com/2945075

我收到此错误:

Traceback (most recent call last):
File "<console>", line 1, in <module>
File "/usr/local/lib/python2.7/dist-packages/soundcloud-0.3-py2.7.egg/soundcloud/client.py", line 129, in _request
return wrapped_resource(make_request(method, url, kwargs))
File "/usr/local/lib/python2.7/dist-packages/soundcloud-0.3-py2.7.egg/soundcloud/request.py", line 180, in make_request
result.raise_for_status()
File "/usr/local/lib/python2.7/dist-packages/requests-0.10.1-py2.7.egg/requests/models.py", line 799, in raise_for_status
raise HTTPError('%s Client Error' % self.status_code)
HTTPError: 401 Client Error

怎样才能使这些东西工作?谁能指导我?谢谢!

你的代码看起来是正确的。只是为了检查健全性,这是我所做的:

import soundcloud
client = soundcloud.Client(client_id='MY_CLIENT_ID',
                           client_secret='MY_CLIENT_SECRET',
                           redirect_uri='MY_REDIRECT_URI')
print client.authorize_url()
# visit authorization code in browser, grant access and copy and paste "code" param
code = 'MY_CODE'
access_token = client.exchange_token(code)
user = client.get('/me')
print user.username
# prints 'Paul Osman'

需要注意的几件事可能会让您感到困惑:

  1. 调用 exchange_token() 后,无需重新创建客户端实例。不过,这样做应该不会有什么坏处。
  2. exchange_token()返回具有两个属性的资源对象(默认情况下):access_tokenscope

请确保在保存访问令牌时从 Resource 对象中提取正确的属性:

access_token = client.exchange_token('YOUR_CODE')
token = access_token.access_token

要尝试的另一件事是打印出client.exchange_code的完整响应:

access_token = client.exchange_token('YOUR_CODE')
print access_token.fields()

希望有帮助。如果您仍然遇到问题,请告诉我,我将用更多信息编辑我的答案。

最新更新