你好
,
我阅读了这些有用的帖子(1、2);但是,我仍然缺少一些东西,这阻止我使用 API 成功地将头像从 Python 上传到 Discourse。我是我的 Discourse 站点的管理员。
好消息: 如下面所示,它在 Postman 中有效。
坏消息: 我一直无法将其转换为 Python(根据我的尝试,会收到 400 或 422 错误)。我尝试了以下方法:
img_data = requests.get("my_image_url").content
data={
"type": "avatar",
"user_id": user_id,
"synchronous": True,
"file": img_data
}
url = "<my site>/uploads.json"
response = requests.request("POST", url, headers=headers, data=data)
这会给我一个 400 错误。我也尝试使用本地图像只是为了看看我是否能使其正常工作:
with open('my_local_image.jpg', "rb") as f:
image_b64 = base64.b64encode(f.read()).decode("utf8")
data={
"type": "avatar",
"user_id": user_id,
"synchronous": True,
"file": image_b64
}
url = "<my site>/uploads.json"
response = requests.request("POST", url, headers=headers, data=data)
这会给我一个 422 错误:
"failed":"FAILED","message":"undefined method `tempfile\\' for #\\u003cString:0x00007f5befda7af8\\u003e"
我觉得我快成功了,但我对使用 API 还不熟悉。任何正确的方向的提示都将不胜感激!
