2016-03-03 88 views
1

我试图使用python创建新票证,但我无法让osticket接受我的API密钥。osTicket API:在python中创建新票证

这里是我的代码:

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数据),它可以正常工作。

回答

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标头中检索,如果您的 代理提供该IP地址,则会从 检索。

例子:

X-API-Key: BA00B76BAA30F62E1940B46CC1C3C73C

命令行实例与卷曲:

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

+0

咋的,就像你说的,我是个白痴,我已经阅读这些页面百次,但从未注意到X- .. –

+0

@MicheleI etri我很乐意帮忙;-)我永远不会说你是个白痴! – Forge