通过 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 键、页面标题以及您需要的任何其他内容。
如果我只有很小的 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 键、页面标题以及您需要的任何其他内容。