Получите весь космический контент из Confluence REST Api

Можно ли получить весь контент Confluence Space из REST API?

Я пробую этот пример curl -u admin:admin http://localhost:8080/confluence/rest/api/content/3965072?expand=body.storage

Но это только содержимое первой страницы.


person user3498116    schedule 05.08.2015    source источник
comment
Ради других возвращается только одна страница, потому что это именно то, что запрашивается через RestAPI, содержимое страницы 3965072.   -  person ScottWelker    schedule 30.05.2018
comment
Также обратите внимание, что важно знать вашу конкретную версию Confluence RestAPI. Хотя я подозреваю, что более поздние версии более похожи, чем версии 3.x.   -  person ScottWelker    schedule 30.05.2018


Ответы (2)


В RestAPI Confluence, с которыми я работал, было важно признать, что каждая страница концептуально похожа на пространство в том смысле, что она может также содержать другие страницы. Есть также коллекции вещей, например вложений, которые свисают со страниц. Насколько я помню, процесс примерно такой:

  • Получить коллекцию пробелов.
  • Iterate the collection of spaces until there are no more.
    • For each space get its collection of page(s); "root pages" come to mind.
      • Iterate/recurse the root-page collection retrieving all page content and/or "attached things" you want.
        • Recursion is the key here.

Обратите внимание на мой предыдущий комментарий о том, что вы должны ссылаться на правильную документацию Confluence RestAPI для вашей конкретной версии. Это было точкой БОЛЬШОГО замешательства для меня.

person ScottWelker    schedule 29.05.2018

Да, нужно сделать что-то вроде этого:

http://localhost:8080/confluence/rest/api/space/SPACE_KEY/content?expand=body.storage

Вы также можете получить определенный тип элемента контента (страница или запись в блоге) следующим образом:

http://localhost:8080/confluence/rest/api/space/SPACE_KEY/content/страница?expand=body.storage

http://localhost:8080/confluence/rest/api/space/SPACE_KEY/content/сообщение в блоге?expand=body.storage

Вы должны принять во внимание нумерацию страниц: https://developer.atlassian.com/confdev/confluence-rest-api/pagination-in-the-rest-api

person mtheriault    schedule 18.12.2015