我正在使用Alfresco社区版,我想只使用Api复制文件夹,因为我无法访问js CMIS,我发现Url发布我的数据但是我总是被一个http 401错误,即使我的票证是valide,我也将头部添加到授权数据中。
我有两个源文件夹nodRef:
这是模型文件夹:
workspace://SpacesStore/aeeaca0a-89bf-4294-8506-315ecd7d18f2
和目标父ID(复制的文件夹应为:
workspace://SpacesStore/48fcc674-fe08-4802-963b-ca8e2ccd1a62
你们的任何帮助表示赞赏。谢谢
从文档中我对此地址/alfresco/s/slingshot/doclib/action/copy-to/node/{store_type}/{store_id}
执行POST
在标题中,我需要content-type:application/json
和authorization : basic 'base64_encode(ROLE_TICKET:$ticket'
答案 0 :(得分:0)
关于Web服务身份验证,它不适用于BASE64的露天。在alfresco中使用alf_ticket.401进行Web服务认证是未授权的错误。
据我所知,露天中没有可用于复制节点的网络服务。您需要为此创建自己的网页制作。如果在链接下方创建自定义网页,则会为您使用。
答案 1 :(得分:0)
Authorization,您可以使用:
查询参数PARAM_ALF_TICKET =“alf_ticket”:
url?alf_ticket=your-ticket
或标题AUTHORIZATION_HEADER =“授权”:
Authorization: Basic base64_encode(user+":"+password)
Copy Node REST API(可在Alfresco 5.2和更新版本中使用):
curl -X POST
--header 'Content-Type: application/json'
--header 'Accept: application/json'
--header 'Authorization: Basic eW91LWFyZTp0aGUtYmVzdC1oYWNrZXI7KQ=='
-d '{
"targetParentId": "new-parent-folder-node-id",
"name": "new-node-name"
}'
'http://localhost:8080/alfresco/api/-default-/public/alfresco/versions/1/nodes/{node-id}/copy'