2

我正在尝试使用python创建新票证,但我无法osticket接受我的 API 密钥。

这是我的代码:

def post_ticket(json):
  headers = {'API-Key': 'mykey'}
  response = requests.post("http://mydomani.com/api/tickets.json", data=create_json_ticket(json), headers=headers)
  for r in response:
    print(r)

我收到错误消息'Valid API key required'。如果我使用PHP作为示例给出的脚本(使用相同的 url、key 和 JSON 数据)它工作正常。

4

1 回答 1

0

标题键应该是"X-API-Key"而不是"API-Key"

osTicket API页面:

HTTP 访问

对 HTTP API 的访问仅限于有效的 API 密钥。 必须发送X-API-Key HTTP标头以指示要与请求一起使用的 API 密钥。
API 密钥必须与连接的 HTTP 客户端的远程 IP 匹配。像往常一样检查远程IP。如果 osTicket 服务器位于反向代理后面,则客户端的原始 IP 将从 X-Forwarded-For 标头中检索(如果您的代理提供)。

例子:

X-API-Key: BA00B76BAA30F62E1940B46CC1C3C73C

带有 Curl 的命令行示例:

curl -d "{}" -H "X-API-Key: BA00B76BAA30F62E1940B46CC1C3C73C" https://support.you.tld/api/tickets.json

于 2016-03-03T11:43:41.477 回答