HTTP 请求为 params 中的一个键分配多个值

jxn*_*jxn 6 python json http python-requests

我正在使用 python 的请求库从 API 执行“GET”。这是我的代码的一部分:

payload = { 'topicIds':'128487',
            'topicIds':'128485', 
        'topicIds': '242793',
            'timePeriod':'10d', }

r= requests.get(url, params=payload, headers=headers)
Run Code Online (Sandbox Code Playgroud)

根据 API 文档,我们可以为一个请求分配多个 topicId,如下所示: <url>topicId=123&topicId=246

当我尝试将 topicIds 值设置为这样的列表时:

payload = { 'topicIds':['128487' , '242793'],
Run Code Online (Sandbox Code Playgroud)

我收到一个错误: {u'error': u'topicIds: has 2 terms, should be between 0 and 1'}

但是,当我运行代码时,我只从最后一个 topicIds => 'topicIds': '242793' 获取数据我是否错误地编写了有效负载字典?

谢谢,

sca*_*an_ 5

尝试:

payload = {'topicIds[]': ['128487', '242793']}
r = requests.get(url, params=payload, headers=headers)
Run Code Online (Sandbox Code Playgroud)

这是在查询字符串中定义数组的最常用方法。