Python - ValueError:需要多于1个值来解压缩

rnk*_*rnk 1 python api django oauth vimeo

请检查这个问题Python oauth2 - 提出请求我正在使用我的Web应用程序中的vimeo集成.

起初,我得到了一个oauth_signature和我没有问题(没有错误),我想这些事情再一次从第一,现在我越来越ValueError异常:需要超过1的值来解压缩,而提出这个要求

>>> r = request.get(url, headers=headers)
Run Code Online (Sandbox Code Playgroud)

你可以在这里查看我的代码https://gist.github.com/2949182

错误是

Traceback (most recent call last):
File "<console>", line 1, in <module>
File "/usr/local/lib/python2.7/dist-packages/requests-0.10.1-py2.7.egg/requests/api.py", line 51, in get
return request('get', url, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/requests-0.10.1-py2.7.egg/requests/api.py", line 39, in request
return s.request(method=method, url=url, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/requests-0.10.1-py2.7.egg/requests/sessions.py", line 159, in request
headers[k] = header_expand(v)
File "/usr/local/lib/python2.7/dist-packages/requests-0.10.1-py2.7.egg/requests/utils.py", line 152, in header_expand
for i, (value, params) in enumerate(headers):
ValueError: need more than 1 value to unpack
Run Code Online (Sandbox Code Playgroud)

谢谢!

UPDATE

>>> headers
{'Authorization': u'oauth_body_hash=XXXXXXXXXXXXXXXXXXXXXXXXXX,oauth_nonce=3454768,oauth_timestamp=1340035585,oauth_consumer_key=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX,oauth_signature_method=HMAC-SHA1,oauth_version=1.0,oauth_signature=XXXXXXXXXXXXXXXXXXXXXXXXXXXXX,oauth_callback=http://127.0.0.1:8000/information/vimeo'}
Run Code Online (Sandbox Code Playgroud)

Has*_*sek 7

为了能够解压缩字典,你必须使用.items(),所以代码是这样的:

for i, (value, params) in enumerate(headers.items()):
Run Code Online (Sandbox Code Playgroud)

现在因为那不是你的代码,你不能改变它,错误告诉你的是标题不应该是字典而是元组(或列表),如果你像这样传递标题:

headers = [("Authorization", "Values")]
Run Code Online (Sandbox Code Playgroud)

它应该工作.

编辑:这不起作用.现在字典版本{"授权":"值"}对我有用,也许更新请求会有所帮助.