通过 REST api 仅使用微小的 URL 获取 confluence 文章的内容

Fetch contents of confluence article through REST api with only the tiny URL

如果我只有很小的 url,有没有办法使用 Confluence REST api 来获取文章的内容?如果我有页面 ID 或 space/title,我知道该怎么做,但到目前为止我还想不出一种方法来将这些微小的 url 转换成可用的东西。

您将需要一些代码,但这是可能的。

微小的 URL 只是重定向 (302) 到 Confluence 中的页面。

流程应该是这样的:

  • 在 Tiny URL 上发出 GET 请求。按照重定向 (302)。
  • 您将获得页面内容。如果您检查 Confluence 页面,您会看到一些可用的元数据:

    <meta name="ajs-page-id" content="6494177"> <meta name="ajs-latest-page-id" content="6494177"> <meta name="ajs-content-type" content="page"> <meta name="ajs-page-title" content="Page Title"> <meta name="ajs-latest-published-page-title" content="Page Title"> <meta name="ajs-parent-page-title" content="My Parent Page Title"> <meta name="ajs-parent-page-id" content="6496957"> <meta name="ajs-space-key" content="CT"> <meta name="ajs-space-name" content="My Space">

  • 解析并获取获取页面内容所需的值:https://docs.atlassian.com/confluence/REST/latest/#content-getContent.

正如@mtheriault 所说,需要一个解决方法,您不能直接将微型 url 推入 REST API。但是,有一种比阅读 html 来源更简单的方法:

您需要一个普通的 REST 调用,而不是查询 tinyurl 本身,获取以下内容:[confluenceURL]/pages/tinyurl.action?urlIdentifier=[tinyURLFragment]。如果微小的 url 片段是正确的,您将得到一个 302,其中 Location header 是该页面的完全限定 link。然后您可以解析 space 键、页面标题以及您需要的任何其他内容。