11

我正在尝试通过其 REST API(https://github.com/osTicket/osTicket-1.7/blob/develop/setup/doc/api/tickets.md)在 osticket 中创建票证

问题是/api/tickets.json返回 404。我将它安装在 osticket 文件夹上的服务器中(类似于http://my.net.work.ip/osticket/api/tickets.json - 404)

此外,我尝试对服务器进行 CURL(通过 ssh 登录),为服务器的 IP 地址创建了一个 APIKey,并获得了相同的响应。

我在这里想念什么?谢谢

4

3 回答 3

16

所以,我必须在( )http.php之后添加,现在我可以创建票证了。api//api/http.php/tickets.json

检查http://tmib.net/using-osticket-1812-api。使用的示例在评论中有此信息。

在此处输入图像描述

两个非常重要的部分在第 18 行和第 19 行。

'url'=>'http://your.domain.tld/api/http.php/tickets.json', // URL to site.tld/api/tickets.json
'key'=>'PUTyourAPIkeyHERE' // API Key goes here
//Edit line 18 to have your URL.
//Edit line 19 by changing "PUTyourAPIkeyHERE" to your API key (aka the "THISISAFAKEAPIKEYHERE!" from earlier).
于 2014-05-08T11:31:00.127 回答
2

文档中似乎缺少的部分是如何传递 API 密钥。通过一些测试和上面提到的脚本,我找到了 X-API-Key 标头。这意味着您可以在不使用脚本的情况下创建票证,您可以像使用 curl 一样轻松:

curl -X POST -H "X-API-Key: 1234567890ABCDEF" -v -d'{"autorespond":false, "source": "API", "name": "Doctor Who", "email":"who@tardis.com", "subject":"Have you seen my Tardis key?", "message":"I have managed to lock myself out of the Tardis, can you send me a spare key?"}' http://support.gallifrey.org/api/tickets.json

这仅在从您创建 API 密钥时指定的 IP 地址运行时才有效。

于 2016-08-25T21:24:17.350 回答
1

除了更改第 18 和 19 行之外,您还需要确保您拥有正确的 IP 地址。您可以通过在此处访问您的站点来检查:http://your.domain.tld/support/scp/logs.php

然后看看你是否得到错误API Error (401)。如果您这样做,请查看 IP 地址并为该 IP 地址创建一个新的 API 密钥。

我面临的问题是我输入了我的 IPv4 地址,但服务器正在获取我的 IPv6 地址。

于 2016-02-25T04:39:25.540 回答