如何从python生成json响应?

如何从python生成json响应?,python,api,python-requests,Python,Api,Python Requests,我正在从Python进行API调用。我当前的代码应该生成一个JSON响应,但抛出一个响应代码500(内部服务器错误)。但是,当我使用API的内置提取工具生成数据时,它会返回数据。代码片段如下所示: def Performance(data): BASEURL = 'https://api-c31.ict.com/inContactAPI/' accessToken = (data["access_token"]) #Check if accessToken is empty or null i

我正在从Python进行API调用。我当前的代码应该生成一个JSON响应,但抛出一个响应代码500(内部服务器错误)。但是,当我使用API的内置提取工具生成数据时,它会返回数据。代码片段如下所示:

def Performance(data):
BASEURL = 'https://api-c31.ict.com/inContactAPI/'
accessToken = (data["access_token"])

#Check if accessToken is empty or null
if accessToken!= "":



#Give necessary parameters for http request
    payload={'startDate':'1/1/2020', 
    'endDate':'1/6/2020',
    'fields':'"agentId","teamId","totalHandled"'}

#add all necessary headers
    header_param = { 'User-Agent' : 'Chrome/79.0.3945.117',
                 'Authorization': 'bearer ' + '{accessToken}',
                 'content-Type': 'application/x-www-form-urlencoded',
                 'Accept': 'application/json, text/javascript, */*'
                  }

# Make get http request
   response_1 = requests.get(BASEURL + 'services/{version}/agents/performance' , headers = header_param, params=payload) 
   #answer1.raise_for_status

#print response appropriately
    print (response_1)

#response 
else: print('error')

响应_1生成响应500。如何从Python生成数据?

params不会将负载编码为JSON<代码>json可以

response_1 = requests.get(
                 BASEURL + 'services/{version}/agents/performance',
                 headers=header_param,
                 json=payload)
response_1=requests.get(
BASEURL+'services/{version}/agents/performance',
标题=标题参数,

json=payload)
状态代码500表示服务器端出现错误,因此您的代码可能引发异常。您的日志显示了什么?我假设请求将参数作为JSON对象发送?您的代码不会生成响应;它从您将请求发送到的HTTP服务器接收响应。@chepner correct。get请求接收一个响应。对不起,措辞怪异。kaya3-日志只显示代码运行,输出只是响应500Is
{version}
是否应该由实际的版本号或标记替换?与
{accessToken}
相同;看起来您忘记使用f字符串了,例如,
f'services/{version}/..
@chepner,在对{version}进行了更改之后,我现在看到“name access\u token not defined”的错误,但是,响应500错误不再显示。这没有什么区别,它仍然返回500个响应是否确实需要
字段中的双引号
值?