<p>我认为你有不同的选择。超过我将要描述的三个。我更喜欢前两种。在</p>
<p>1)实现自己的webscript</p>
<p>这样做的好处是,您可以确切地决定返回什么以及如何在文件夹结构中导航。只需一个用javascript和免费标记模板编写的简单webscript就足够了。或者,如果愿意,可以使用Java。
<a href="http://docs.alfresco.com/5.0/concepts/ws-overview.html" rel="nofollow">Repository-tier web scripts</a></p>
<p>2)使用CMIS</p>
<p>如果您不想编写webscript,因为没有一个ootbrestapi能完全满足您的需要,那么使用CMIS可能会更容易。
您需要做的事情可以用cmis查询轻松实现。
作为起点:<a href="https://forums.alfresco.com/forum/developer-discussions/alfresco-api/cmis-resources-tutorials-and-examples-03212012-1456" rel="nofollow">CMIS tutorials</a>和{a3}</p>
<p>3)使用可用的REST API</p>
<p>有几个API可以使用。找到它们的最简单方法是按照已经建议的方式访问/alfresco/service/index。
<a href="https://wiki.alfresco.com/wiki/Repository_RESTful_API_Reference" rel="nofollow">Wiki - Alfresco API</a></p>
<p>要获取所有子对象,可以使用以下示例:</p>
<pre><code>http://<your-alfresco-server>/alfresco/service/api/forms/picker/node/workspace/SpacesStore/62ccab8f-20bc-4039-9b59-70e4192fbeb6/doclib
</code></pre>
<p>例如,它将返回(仅返回响应的一个片段):</p>
^{pr2}$
<p>这个webscript还有其他有用的参数。如果您想在工作中看到它,可以打开“对象查找器”(例如,尝试将文档附加到工作流)。浏览存储库的弹出窗口将调用此webscript。例如,在我的例子中,它执行了以下调用:</p>
<pre><code>curl "http://192.168.64.150:8080/share/proxy/alfresco/api/forms/picker/node/workspace/SpacesStore/66704925-4b32-4c4c-953b-42c6f0f047ec/children?selectableType=cm:content&searchTerm=&size=1000&filterStatusGroups=null" -H "Cookie: JSESSIONID=D9D08EC75879F4807AFF0FF115702E07; alfLogin=1452880051; alfUsername3=admin" -H "Accept-Encoding: gzip, deflate, sdch" -H "Accept-Language: en-US,en;q=0.8,it;q=0.6,en-GB;q=0.4" -H "User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.106 Safari/537.36" -H "Accept: */*" -H "Referer: http://192.168.64.150:8080/share/page/site/evergreeen-entertainment-ltd/start-workflow" -H "X-Requested-With: application/x-www-form-urlencoded" -H "Connection: keep-alive" compressed
</code></pre>
<p>要获取节点的所有版本,例如,可以使用以下命令:</p>
<pre><code>http://192.168.64.150:8080/alfresco/service/api/node/workspace/SpacesStore/687858da-c713-4739-8a3c-f322251ce00e/versions
</code></pre>