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

How to retrieve versioned document's content in Alfresco by REST API?

有没有办法检索文档的版本化内容?可能是本地 Alfresco 的 REST API.

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

它 returns 具有 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": ""
  }
}]

Matteo Calò 给出的答案在技术上是正确的。 API 确实存在,并且按照他说的去做。但是,该端点标有 "limited support" ,这意味着您在使用它时应该谨慎。相反,您应该更喜欢 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 来满足你的需要,你应该使用它,特别是如果替代方案是一个可能不完整的网络脚本 public。