我很难对供应商API执行简单的GET请求。我怀疑我的params变量包含太多元素存在问题,但是我不确定如何解决该问题。我尝试了几种变体,但无济于事。
类似命名的帖子中的解决方案似乎与此场景无关(来自API调用的JSON响应数据)。
下面是引发此错误的Python代码以及我的shell输出的屏幕截图。请指教。旁注:我不是Python专家。
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()
答案 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。