Python - ValueError: слишком много значений для распаковки (ожидается 2) - PullRequest
0 голосов
/ 09 мая 2019

У меня проблемы с выполнением простого запроса GET к API поставщика.Я подозреваю, что есть проблема с моим params varable, содержащим слишком много элементов, но я не уверен, как решить проблему.Я пробовал несколько вариантов, но безрезультатно.

Решения в постах с одинаковыми именами, похоже, не имеют отношения к этому сценарию (данные ответов JSON от вызовов API).

Ниже приведен код Python, который вызывает эту ошибку, и снимок экрана с выводом моей оболочки.Пожалуйста, порекомендуйте.Примечание: я не эксперт в 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 голосов
/ 09 мая 2019

Ошибка показывает вам все:

для k, против в to_key_val_list (данные):

Отсюда видно, что требуется dict. Примерно так:

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

Итак, вы должны измениться рядом с диктовкой, чтобы она заработала.

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

Подробно относится к это .

...