有一些api 端点,我尝试使用这样的代码发送 POST 请求
import requests
url = 'https://deviantart.com/api/v1/oauth2/collections/folders/create'
headers = {'Content-Type': 'application/json'}
data = {'folder': 'folder_name'}
params = {'access_token': '<authorization_code_flow_token>'}
r = requests.post(url=url,
headers=headers,
params=params,
json=data)
print(r.text)
但我收到 400 条回复:
{
"error":"invalid_request",
"error_description":"Request field validation failed.",
"error_details":{"folder":"folder is required"},
"status":"error"
}
我不明白为什么它会失败,因为他们的 curl 示例工作正常。
curl https://www.deviantart.com/api/v1/oauth2/collections/folders/create \
-d "folder=Awesome Collection" \
-d access_token=Alph4num3r1ct0k3nv4lu3
而且我通过发布回复成功获得了身份验证。
我尝试更改内容类型标头(json 和 x-www-formurlencoded)并以不同的方式传递数据有效负载(将 json 字符串传递给数据参数,将 dict 传递给 json,将有效负载作为查询字符串传递)。但它不起作用。我不知道我做错了什么。似乎我发送了错误的有效负载或放置了错误的标头,但我尝试了很多“组合”但仍然没有效果。
在接下来的一个小时里,如果你想帮助你,你可以使用 access_token: ba4550889c8c36c8d82093906145d9fd66775c959030d3d772