尝试 POST API 请求时出现错误 500
error 500 when tried to POST API with requests
我尝试 post 通过请求将数据发送到外部 API,这是我的代码:
import requests
import json
client_id = "MY_CLIENT_ID"
secret = "MY_CLIENT_SECRET"
data = {
'grant_type': 'client_credentials',
'scope': 'MY_SCOPES',
}
head_token = {
"Client_id": client_id,
"Client_secret": secret,
"Content-Type": "application/x-www-form-urlencoded",
"Authorization": "Basic SOME-RANDOM-STRING"
}
response = requests.post(
"https://api.example.com/oauth2/token", data=data, headers=head_token)
print(response.status_code)
if response.status_code in [200]:
resp_dict = json.loads(response.text)
access_token = resp_dict["access_token"]
print(access_token)
url = 'https://api.example.com/send/data'
data = {'some' : 'data'}
headers = {
'client_id': client_id,
'client_secret': secret,
'authorization': "Bearer %s" %access_token,
'content-type': "application/json",
'accept': "application/json"
}
r = requests.post(url, data=json.dumps(
data, default=str), headers=headers)
print(r.status_code)
脚本成功获取了访问令牌,但是当它到达第二个端点时,它总是给出 500 响应。这是终端:
python3 test_hit.py
200
THE_ACCESS_CODE
500
我想知道是什么原因导致它给我响应 500,即使我已经获得访问令牌来点击第二个?
问题已解决!
这是文档错误,他们给我的示例在数据参数中丢失了 []
。
我不拥有端点,我无法从 API 端调试它。
我遇到这个解决方案是通过邮递员尝试命中终点,邮递员成功命中第二个终点,所以我试图检查我的代码和邮递员之间有什么区别auto-generated python代码,我的代码只缺少 []
.
文档:
data = {'sample' :{
'data1' : 'value1'
'data2' : 'value2'
}}
我的代码:
data = {'sample' :{
'data1' : 'value1'
'data2' : 'value2'
}}
邮递员[=31=]代码:
data = {'sample' :[{
'data1' : 'value1'
'data2' : 'value2'
}]}
我尝试 post 通过请求将数据发送到外部 API,这是我的代码:
import requests
import json
client_id = "MY_CLIENT_ID"
secret = "MY_CLIENT_SECRET"
data = {
'grant_type': 'client_credentials',
'scope': 'MY_SCOPES',
}
head_token = {
"Client_id": client_id,
"Client_secret": secret,
"Content-Type": "application/x-www-form-urlencoded",
"Authorization": "Basic SOME-RANDOM-STRING"
}
response = requests.post(
"https://api.example.com/oauth2/token", data=data, headers=head_token)
print(response.status_code)
if response.status_code in [200]:
resp_dict = json.loads(response.text)
access_token = resp_dict["access_token"]
print(access_token)
url = 'https://api.example.com/send/data'
data = {'some' : 'data'}
headers = {
'client_id': client_id,
'client_secret': secret,
'authorization': "Bearer %s" %access_token,
'content-type': "application/json",
'accept': "application/json"
}
r = requests.post(url, data=json.dumps(
data, default=str), headers=headers)
print(r.status_code)
脚本成功获取了访问令牌,但是当它到达第二个端点时,它总是给出 500 响应。这是终端:
python3 test_hit.py
200
THE_ACCESS_CODE
500
我想知道是什么原因导致它给我响应 500,即使我已经获得访问令牌来点击第二个?
问题已解决!
这是文档错误,他们给我的示例在数据参数中丢失了 []
。
我不拥有端点,我无法从 API 端调试它。
我遇到这个解决方案是通过邮递员尝试命中终点,邮递员成功命中第二个终点,所以我试图检查我的代码和邮递员之间有什么区别auto-generated python代码,我的代码只缺少 []
.
文档:
data = {'sample' :{
'data1' : 'value1'
'data2' : 'value2'
}}
我的代码:
data = {'sample' :{
'data1' : 'value1'
'data2' : 'value2'
}}
邮递员[=31=]代码:
data = {'sample' :[{
'data1' : 'value1'
'data2' : 'value2'
}]}