如何通过REST API在Alfresco中检索版本化文档的内容?



有没有办法检索文档的版本化内容?可能是通过原生Alfresco的REST API。

Matteo Calò给出的答案在技术上是正确的。该API确实存在,并且按照他说的去做。但是,该端点标记为"有限支持",这意味着您在使用它时应谨慎。相反,你应该更喜欢API的标记"PUBLIC"或使用基于标准的API,如Alfresco支持的CMIS。

CMIS 浏览器绑定可用于获取对象的内容,如下所示:http://localhost:8080/alfresco/api/-default-/public/cmis/versions/1.1/browser/root/test/test.txt

它的属性是这样的:http://localhost:8080/alfresco/api/-default-/public/cmis/versions/1.1/browser/root/test/test.txt?cmisselector=object

它的版本是这样的:http://localhost:8080/alfresco/api/-default-/public/cmis/versions/1.1/browser/root/test/test.txt?cmisselector=versions

在此示例中,我按路径检索对象。我的测试对象位于名为 test 的文件夹中,我的对象名称为 test.txt。另一方面,如果您知道对象的 ID,则可以获得如下版本:http://localhost:8080/alfresco/api/-default-/public/cmis/versions/1.1/browser/root?cmisselector=versions&objectId=54f47f6f-ee88-4612-8206-ebca8f5b7e6b;3.0

任何时候,只要您可以使用CMIS URL来提供所需的内容,您都应该使用它,特别是如果替代方案是可能不完全公开的Web脚本。

有以下 API:http://HOST:PORT/share/proxy/alfresco/api/version?nodeRef=NODEREF

它返回一个版本列表,其中包含 NODEREF 的元数据,如下所示:

[{
  "nodeRef": "versionStore://version2Store/60d3d217-e80b-4066-9e43-6361bb573462",
  "name": "prova1.json",
  "label": "1.11",
  "description": "",
  "createdDate": "08 lug 2016 12:21:49 GMT+0200 (CEST)",
  "createdDateISO": "2016-07-08T12:21:49.843+02:00",
  "creator": {
    "userName": "admin",
    "firstName": "Administrator",
    "lastName": ""
  }
},
{
  "nodeRef": "versionStore://version2Store/a1b38d5e-2556-416a-908e-180687d3ff8c",
  "name": "prova1.json",
  "label": "1.10",
  "description": "",
  "createdDate": "07 lug 2016 13:20:44 GMT+0200 (CEST)",
  "createdDateISO": "2016-07-07T13:20:44.804+02:00",
  "creator": {
    "userName": "admin",
    "firstName": "Administrator",
    "lastName": ""
  }
}]