获取存储库 Alfresco 中的所有文件夹和文档 Restful

Get All Folder and Documents in Repository Alfresco Restful

我正在学习 Alfresco。我想使用 Restful API 获取存储库中的所有文件夹和文档。我该怎么做?

我们可以使用 alfresco.For 的 webscript 创建 restfull 服务,了解 webscript 你可以在下面关注 link。

https://wiki.alfresco.com/wiki/Web_Scripts

要创建用于列出文件夹的网络脚本,下面是您需要创建的文件。

1.list-folders.get.desc.xml

<webscript>
  <shortname>Folder Listing Utility</shortname>
  <description>Java-backed implementation of listing folder contents
  </description>
  <url>/javadir/{folderpath}?verbose={verbose?}</url>
  <authentication>user</authentication>
</webscript>

2.list-folders.get.html.ftl

<html>
 <head>
  <title>Folder ${folder.displayPath}/${folder.name}</title>
  </head>
 <body>
   <p>Alfresco ${server.edition} Edition v${server.version} : dir</p>
  <p>Contents of folder ${folder.displayPath}/${folder.name}</p>
  <table>
   <#list folder.children as child>
   <tr>
   <td><#if child.isContainer>d</#if></td>
   <#if verbose>
     <td>${child.properties.modifier}</td>
     <td><#if child.isDocument>
       ${child.properties.content.size}</#if></td>
     <td>${child.properties.modified?date}</td>
   </#if>
   <td>${child.name}</td>
   </tr>
   </#list>
  </table>
 </body>
</html>

网络脚本说明指定了一个包含标记 {folderpath} 和 {verbose?} 的 URI 模板。 folderpath 标记表示要列出的文件夹,详细 URI 参数指定是否需要详细列表。 HTML 响应模板呈现指定文件夹的内容,同时考虑到详细标志。它通过访问名为 folder 和 verbose 的 Web 脚本模型值来实现。

你需要把上面的文件放在路径下面。

公司主页 > 数据字典 > Web 脚本扩展 > org

网络脚本是构建您自己的 API 的好方法,但在这种情况下,您应该可以使用 Alfresco 为您提供的 OOTB 构建 API。

您可以使用 REST APIs getDescendants 调用获取所有 folders/documents。 请参阅 API 规范以了解详细信息:

https://wiki.alfresco.com/wiki/Repository_RESTful_API_Reference#Retrieve_tree_of_descendants_.28getDescendants.29

它 returns 树中定义的级别数的指定文件夹的后代对象列表。

GET /alfresco/service/api/node/{store_type}/{store_id}/{id}/descendants?types={types}&filter={filter?}&depth={depth?}

它从用 ID 参数标识的文件夹开始,并将可选参数应用于您的调用。这意味着您可以,例如按类型(文档、文件夹等)过滤并定义要查询的深度。使用-1 returns 你所有级别。

可以使用以下端点获取文档和文件夹列表。

GET /alfresco/service/slingshot/doclib/doclist/{type}/site/{site}/{container}

        type = documents or folders
        container = documentLibrary

参考:

浏览器可用的网络脚本在这里:

http://server:port/alfresco/service/index/all

文档列表 Webscript

http://server:port/alfresco/service/script/org/alfresco/slingshot/documentlibrary/doclist.get

Alfresco 版本:社区 v5.0.0