是否可以从Alfresco检索API内容

时间:2015-02-23 10:07:02

标签: alfresco alfresco-share

我想使用Alfresco的API检索内容详细信息。

从alfresco文件中我得到了以下休息网址。但我不知道如何从露天获得所有内容ID。

GET alfresco/api/-default-/public/cmis/versions/1.1/atom/content?id={content_id}

如果有人解释我会很感激。

4 个答案:

答案 0 :(得分:2)

alfresco的每个节点(node = document或文件夹)都有一个“NodeRef”属性。这是唯一可以使用的ID。

您可以通过多种不同方式获取NodeRef:

  • 在树中搜索对象时,会返回一个包含对象的数组(包括NodeRef属性)
  • 使用API​​创建对象时,返回是对象引用
  • 通过使用Web管理GUI,您可以查看文件或文件夹的详细信息,并查看该文件/文件夹的不同属性。 NodeRef应该是GUI中列出的属性之一。

一旦你知道了NodeRef,你可以使用这个(例子)

这样的网址访问你的内容

/alfresco/api/-default-/public/cmis/versions/1.1/atom/content?id=824ba7cd-dcee-4908-8917-7b6ac0611c97

返回的对象应该是节点内容。

答案 1 :(得分:2)

答案 2 :(得分:0)

你可以使用nodeservice和searchservice在alfresco中检索所有节点的id。你可以在下面的链接中找到有用的方法。

http://dev.alfresco.com/resource/docs/java/org/alfresco/service/cmr/repository/NodeService.html

如果您使用的是rest api,那么您需要在露天创建自定义webscript(alfresco使用webscript提供rest api)从露天文档存储库中检索所有节点,而不是使用您可以在上面调用的响应。

答案 3 :(得分:0)

您可以参考此Recursively get all content file names under a folder in Alfresco 5.0 (by WebScripts)

只需将 getChildren.get.json.ftl 更改为

即可
{
    "totalItems": "${totalItems}",
    "nodes":
    [<#list results as node>
        {
            "id" : "${node.id}"
        }<#if (node_index + 1 < results?size)>,</#if>
     </#list>
    ]
}

您将获得特定文件夹的所有文档的内容ID。