我使用Freshdocs为Android如何通过REST的API
在露天创建文件夹我可以使用此API调用登录到露天服务器:
GET /alfresco/service/api/login?u={username}&pw={password?}
但我怎么创建一个新的文件夹Alfresco的?
我使用Freshdocs为Android如何通过REST的API
在露天创建文件夹我可以使用此API调用登录到露天服务器:
GET /alfresco/service/api/login?u={username}&pw={password?}
但我怎么创建一个新的文件夹Alfresco的?
有两个主要选项,但它取决于你想要做什么,以及你正在运行的Alfresco的版本。
假设你想让事情变得非常简单,并且你只想创建一个文件夹,并且你使用的是Alfresco 4.1或更高版本,那么你可以使用org.alfresco.repository.node.folder.post
webscript。对于这一点,简单地张贴JSON喜欢的方式
{ "name": "NewNodeName" }
或
{
"name": "NewNodeName",
"title": "New Node Title",
"description": "A shiny new node",
"type": "cm:folder"
}
使用该API,如果你想要做一些不同的文件中这需要像/api/site/folder/{site}/{container}/{path}
或者一个URL,文件夹操作(例如浏览文件夹结构,创建文件夹,上传文件等),则应改为使用CMIS。 Apache Chemistry是一个用于CMIS的优秀库,它甚至还有一个Android客户端! Android客户端的文档仍然在被人们所想(Android端口只是刚刚添加),所以如果您没有时间等待文档,您可能需要询问mailing list。
我正在使用Freshdocs:https://github.com/freshdocs/cmsandroid。 Freshdocs使用什么样的api? – 2012-07-29 16:55:12
这看起来也是一个CMIS客户端 – Gagravarr 2012-07-29 17:03:07
但他们不使用任何库 – 2012-07-29 17:15:18
您应该使用 POST /alfresco/service/api/path/{store_type}/{store_id}/{id}/children
阅读详细信息的文档:
我以前看过这个API,但我不知道是什么:{store_type},{store_id},{id} – 2012-07-29 16:52:11
这是父节点的NodeRef的不同部分您要创建子节点的节点 – Gagravarr 2012-07-29 17:02:14
要创建通过API,你可以使用下面的查询文件夹:
一)要创建使用父文件夹的完整路径定义的类型文件夹
url: "/../alfresco/service/api/site/folder/" + siteName + "/documentLibrary/" + parentFolderPath
method: "POST"
json: {
name: name
type: folderType
}
siteName - 在Alfresco中创建的网站名称;
parentFolderPath - 父文件夹的路径;
name -folder name;
类型 - 文件夹类型。
实施例:
url: "/../alfresco/service/api/site/folder/example/documentLibrary/books"
method: "POST"
json: {
name: "Pushkin"
type: "cm:folder"
}
做出请求之后被创建 “普希金” 文件夹。该文件夹位于“示例”网站上文档库的“书籍”文件夹中。
b)通过nodeRef创建文件夹
nodeRef是在露天的对象ID。每个对象都有自己的nodeRef。此请求在文件夹类型的给定对象内创建新对象。
xml = '<?xml version="1.0" encoding="utf-8"?>' + '<entry xmlns="http://www.w3.org/2005/Atom"
xmlns:cmisra="http://docs.oasis-open.org/ns/cmis/restatom/200908/"
xmlns:cmis="http://docs.oasis-open.org/ns/cmis/core/200908/">' +
'<title>' + folderName + '</title>' +
'<summary>' + folderName + '</summary>' +
'<cmisra:object>' +
'<cmis:properties>' +
'<cmis:propertyId
propertyDefinitionId="cmis:objectTypeId">' +
'<cmis:value>' + folderType + '</cmis:value>' +
'</cmis:propertyId>' +
'</cmis:properties>' +
'</cmisra:object>' +
'</entry>';
url: "/../alfresco/service/api/node/workspace/SpacesStore/" +
nodeRef + "/children"
method: "POST"
headers: {
"Content-Type": "application/atom+xml;type=entry"
},
xml: xml
folderName - 文件夹名称;
folderType - 文件夹类型;
nodeRef - Alfresco中的文件夹ID。
例子:
nodeRef = b544cd67-e839-4c60-a616-9605fa2affb7;
xml = '<?xml version="1.0" encoding="utf-8"?>' +
'<entry xmlns="http://www.w3.org/2005/Atom"
xmlns:cmisra="http://docs.oasis-open.org/ns/cmis/restatom/200908/"
xmlns:cmis="http://docs.oasis-open.org/ns/cmis/core/200908/">' +
'<title>Example of creating a folder</title>' +
'<summary>Example of creating a folder</summary>' +
'<cmisra:object>' +
'<cmis:properties>' +
'<cmis:propertyId propertyDefinitionId="cmis:objectTypeId">' +
'<cmis:value>cm:folder</cmis:value>' +
'</cmis:propertyId>' +
'</cmis:properties>' +
'</cmisra:object>' +
'</entry>';
url: "/../alfresco/service/api/node/workspace/SpacesStore/" + nodeRef + "/children"
method: "POST"
headers: {
"Content-Type": "application/atom+xml;type=entry"
},
xml: xml
其他服务和他们的描述,你可以在这里找到:
http://jazzteam.org/en/technical-articles/list-of-alfresco-services/
它有什么与Android呢?请删除标签。 – 2012-07-29 16:40:22
嗨,我做了一个Android应用程序连接到Afresco – 2012-07-29 16:44:43
这似乎并不重要,如果你只是想找出一些关于露天的休息api的东西。 – 2012-07-29 16:45:56