OctoPrint API,发出 POST 请求时出现错误 400

OctoPrint API, error 400 when making a POST request

我正在与 Octoprint's API 合作。我正在努力尝试向 3d 打印机发出命令。

例如,我想发出使 3d 打印机在 X 轴上点动的命令。

import requests
headers = {"Authorization": "Bearer <token>"}

def Beep():
  api_link = "http://octopi.local/api/printer/command"
  params = {"command":"jog","x":10}
  return requests.post(api_link, headers=headers, params=params)

此代码的输出是 (错误请求)。我缺少什么?

来自 API 文档:

If not otherwise stated, OctoPrint’s API expects request bodies and issues response bodies as Content-Type: application/json.

您的请求未发送 JSON。改用这个:

requests.post(api_link, headers=headers, json=params)

此外,jog 命令似乎应该使用 url 路径 /api/printer/printhead