Python-ValueError:太多值无法解包(预期2)

时间:2019-05-09 01:33:22

标签: python function api python-requests

我很难对供应商API执行简单的GET请求。我怀疑我的params变量包含太多元素存在问题,但是我不确定如何解决该问题。我尝试了几种变体,但无济于事。

类似命名的帖子中的解决方案似乎与此场景无关(来自API调用的JSON响应数据)。

下面是引发此错误的Python代码以及我的shell输出的屏幕截图。请指教。旁注:我不是Python专家。

enter image description here

import requests
import re 

company_ids = '11407'

def call_and_append():
    headers = {
        'Authorization': 'Bearer REDACTED',
    }
    params = (
        ('companies',company_ids+'/people')
    )
    response = requests.get(
        'https://api.mattermark.com/companies/',
        headers=headers,
        params=params
    )

    with open(r'C:\Users\etherealessence\Desktop\personnel_data.json', 'a+') as personnel_data:
        personnel_data.write('{}\n'.format(response.text))

    return response.json()

call_and_append()

1 个答案:

答案 0 :(得分:0)

该错误向您显示一切:

  

对于k,与to_key_val_list(data):

由此,您可以看到它需要dict。如下所示:

payload = {'key1': 'value1', 'key2': 'value2'}
r = requests.get('https://httpbin.org/get', params=payload)

因此,您应该在字典旁边进行更改以使其起作用。

params = (
    ('companies',company_ids+'/people')
)

详细信息参考this