尝试将 curl 与 api 结合使用会出现 404 错误

Attempts to use curl in conjunction with api give 404 error

我正在尝试使用 API 查询 Confluence 知识库页面,但失败了。

我研究了 api 并得到以下信息:

浏览内容

curl -u admin:admin http://localhost:8080/confluence/rest/api/content/ | python -mjson.tool

阅读内容并展开正文:

curl -u admin:admin http://localhost:8080/confluence/rest/api/content/3965072?expand=body.storage | python -mjson.tool

我真正想做的是将 Confluence 调用的“Space”中的一个或多个页面的内容转储到文件或屏幕上。

这是一个实际页面:

"https://bob.atlassian.net/wiki/spaces/BKB/pages/1234567/BOB+KNOWLEDGE+BANK"

这是我发现的一个使用 REST API 来做我想做的事的例子:

curl -u admin:admin -G "http://myinstance.address:8090/rest/api/content/search" --data-urlencode "cql=(type=page and space=low and title ~ "LOWERTOWN")" \ | python -m json.tool

我是如何翻译我研究过的内容的:

curl -u "bob@bob.com:12345678" -G "https://bob.atlassian.net/rest/api/content/search" --data-urlencode "cql=(type=page and space=BKB and title ~ "BOB+KNOWLEDGE+BANK")" \ | python -m json.tool

导致此错误的结果:

curl: (3) URL using bad/illegal format or missing URL
No JSON object could be decoded

我从这个网站抓取了我的逻辑:

https://community.atlassian.com/t5/Confluence-questions/How-to-get-Conflunece-knowledge-base-data-through-API/qaq-p/1030159

我假设我误解了这一点:

/rest/api/content/search

以及它在我的 curl 语句中的位置并将其链接到知识库。我也不确定应用 -mjson.tool 是否适用于我的情况,或者我是否真的安装了它/需要验证它。

你能帮我正确解读吗?

你快到了!您只需要将 cql 作为查询参数传递给服务 here in Atlassian documentation:

curl --request GET
--url 'https://your-domain.atlassian.net/wiki/rest/api/search?cql={cql}'
--header 'Authorization: Bearer <access_token>'
--header 'Accept: application/json'