2016-03-03 44 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