这是我的 Oauth 代码:
auth = OAuth1(client_key=consumer_key,
client_secret=consumer_secret,
resource_owner_key=access_key,
resource_owner_secret=access_secret,
signature_type='auth_header')
r = requests.get(url, auth=auth)
print r
错误:
r = requests.get(url,auth = auth)
File "/usr/local/lib/python2.7/dist-packages/requests/api.py", line 49, in get
return request('get', url, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/requests/api.py", line 38, in request
return session.request(method=method, url=url, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/requests/sessions.py", line 259, in request
prep = req.prepare()
File "/usr/local/lib/python2.7/dist-packages/requests/models.py", line 197, in prepare
p.prepare_auth(self.auth)
File "/usr/local/lib/python2.7/dist-packages/requests/models.py", line 329, in prepare_auth
r = auth(self)
File "/usr/local/lib/python2.7/dist-packages/requests_oauthlib/core.py", line 41, in __call__
decoded_body = extract_params(r.data)
AttributeError: 'PreparedRequest' object has no attribute 'data'
最佳答案
我猜您使用的是 Requests 1.0.0 或更高版本。这是一个向后不兼容的版本,发生此错误是因为 requests-oauthlib尚不兼容。已经做了一些工作来解决这个问题,但还没有新的版本。参见 issue #1请求-oauthlib。
现在您的选择是:
- 降级到 requests 0.14.2,它应该与 request_oauthlib 0.2.0 一起使用。
- 升级到 the git version request_oauthlib,它可能足以满足您的需求。
关于python - 为什么 Python Requests 在尝试将它与 Tumblr 一起使用时会抛出此错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14001188/